diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 43549db4e..000000000 --- a/.babelrc +++ /dev/null @@ -1,22 +0,0 @@ -{ - "env": { - "test": { - "plugins": ["istanbul"] - } - }, - "ignore": ["node_modules/**/*"], - "plugins": ["@babel/plugin-transform-flow-strip-types", "@babel/plugin-proposal-class-properties"], - "presets": [ - [ - "@babel/preset-env", - { - "loose": true, - "bugfixes": true, - "targets": { - "browsers": ["chrome >= 47", "firefox >= 51", "ie >= 11", "safari >= 8", "ios >= 8", "android >= 4"] - } - } - ], - "@babel/preset-flow" - ] -} diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index ce4a3ff3c..000000000 --- a/.editorconfig +++ /dev/null @@ -1,10 +0,0 @@ -# http://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_size = 2 -end_of_line = lf -indent_style = space -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore index 2dbcc2008..6e440910c 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,5 @@ -/flow-typed/ -/coverage -/dist +dist/ +types/ +demo/ +webpack.config.js +tsconfig.json \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 000000000..e8f812a0e --- /dev/null +++ b/.eslintrc @@ -0,0 +1,60 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + "plugins": ["@typescript-eslint"], + "rules": { + "indent": ["error", 2], + "react/prefer-stateless-function": "off", + "max-len": ["warn", { "code": 500 }], + "eol-last": "off", + "@typescript-eslint/explicit-function-return-type": "warn", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-unused-vars": "error", +// "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/explicit-member-accessibility": [ + "error", + { + "accessibility": "explicit", + "overrides": { + "accessors": "explicit", + "constructors": "no-public", + "methods": "explicit", + "properties": "explicit", + "parameterProperties": "explicit" + } + } + ], + "block-scoped-var": "error", + "eqeqeq": "error", + "no-var": "error", + "no-console": "error", + "prefer-const": "error", + "prefer-arrow-callback": "error", + "no-trailing-spaces": "error", + "quotes": ["warn", "single", { "avoidEscape": true }], + "no-restricted-properties": [ + "error", + { + "object": "describe", + "property": "only" + }, + { + "object": "it", + "property": "only" + } + ] + }, + "overrides": [], + "settings": { + "jest": { + "version": 26 + } + }, + "env": { + "browser": true, + "commonjs": true, + "es6": true + } +} diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 93285c7a1..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parser": "babel-eslint", - "extends": ["eslint:recommended", "plugin:flowtype/recommended"], - "plugins": ["prettier", "import", "flowtype", "mocha-no-only"], - "env": { - "browser": true, - "es6": true, - "mocha": true, - "amd": true, - "commonjs": true - }, - "globals": { - "should": true, - "sinon": true, - "__VERSION__": true, - "__NAME__": true, - "process": true, - "__dirname": true - }, - "rules": { - "flowtype/no-types-missing-file-annotation": 0, - "prettier/prettier": "error", - "mocha-no-only/mocha-no-only": "off", - "require-jsdoc": ["error"], - "valid-jsdoc": ["error"] - } -} diff --git a/.flowconfig b/.flowconfig deleted file mode 100644 index cdce473b4..000000000 --- a/.flowconfig +++ /dev/null @@ -1,5 +0,0 @@ -[ignore] -.*/node_modules -[include] -[options] -esproposal.optional_chaining=enable diff --git a/.github/workflows/run_canary.yaml b/.github/workflows/run_canary.yaml index 72db46888..e4b6eda87 100644 --- a/.github/workflows/run_canary.yaml +++ b/.github/workflows/run_canary.yaml @@ -20,5 +20,6 @@ jobs: uses: kaltura/playkit-js-common/.github/workflows/canary_dependency.yaml@master secrets: inherit with: + node-version: "20.x" schema-type: "playerV3Versions" - tests-yarn-run-to-execute: 'build eslint flow test' + tests-yarn-run-to-execute: 'build lint type-check test' diff --git a/.github/workflows/run_canary_full_flow.yaml b/.github/workflows/run_canary_full_flow.yaml deleted file mode 100644 index c152b5616..000000000 --- a/.github/workflows/run_canary_full_flow.yaml +++ /dev/null @@ -1,27 +0,0 @@ -## Canary CI/CD -name: Canary Full Flow -run-name: Canary Full Flow - -on: - push: - branches: - - master - -jobs: - canary-full-flow: - if: ${{ github.actor != 'PlaykitJs-Bot' }} - uses: kaltura/ovp-pipelines-pub/.github/workflows/player_cicd.yaml@master - secrets: - PLAYER_CENTRAL_ACCOUNT_ID: ${{ secrets.PLAYER_CENTRAL_ACCOUNT_ID }} - PLAYER_SERVICES_ACCOUNT_ID: ${{ secrets.PLAYER_SERVICES_ACCOUNT_ID }} - PLAYER_S3_BUCKET_DEPLOYMENT: ${{ secrets.PLAYER_S3_BUCKET_DEPLOYMENT }} - PLAYER_S3_BUCKET_APPS: ${{ secrets.PLAYER_S3_BUCKET_APPS }} - PLAYER_NPM_TOKEN: ${{ secrets.PLAYER_NPM_TOKEN }} - PLAYER_LAMBDA_NAME: ${{ secrets.PLAYER_LAMBDA_NAME }} - PLAYER_MSTEAMS_WEBHOOK: ${{ secrets.PLAYER_MSTEAMS_WEBHOOK }} - PLAYER_GITHUB_BOT_TOKEN: ${{ secrets.PLAYER_GITHUB_BOT_TOKEN }} - with: - type: "dependency" - stage: "canary" - schema-type: "playerV3Versions" - tests-yarn-run-to-execute: 'build eslint flow test' diff --git a/.github/workflows/run_prod.yaml b/.github/workflows/run_prod.yaml index 116811c3e..52d05666c 100644 --- a/.github/workflows/run_prod.yaml +++ b/.github/workflows/run_prod.yaml @@ -18,7 +18,8 @@ jobs: PLAYER_MSTEAMS_WEBHOOK: ${{ secrets.PLAYER_MSTEAMS_WEBHOOK }} PLAYER_GITHUB_BOT_TOKEN: ${{ secrets.PLAYER_GITHUB_BOT_TOKEN }} with: + node-version: "20.x" type: "dependency" env: "prod" schema-type: "playerV3Versions" - tests-yarn-run-to-execute: 'build eslint flow test' + tests-yarn-run-to-execute: 'build lint type-check test' diff --git a/.github/workflows/run_tests.yaml b/.github/workflows/run_tests.yaml index a11358eed..3f1523eda 100644 --- a/.github/workflows/run_tests.yaml +++ b/.github/workflows/run_tests.yaml @@ -8,14 +8,35 @@ on: - "*" jobs: - running-tests: + build: uses: kaltura/ovp-pipelines-pub/.github/workflows/player_tests.yaml@master with: - yarn-run-to-execute: 'build eslint flow test' + node-version: '20.x' + yarn-run-to-execute: 'build' + test: + uses: kaltura/ovp-pipelines-pub/.github/workflows/player_tests.yaml@master + with: + node-version: '20.x' + yarn-run-to-execute: 'test' + type-check: + uses: kaltura/ovp-pipelines-pub/.github/workflows/player_tests.yaml@master + with: + node-version: '20.x' + yarn-run-to-execute: 'type-check' + build-types: + uses: kaltura/ovp-pipelines-pub/.github/workflows/player_tests.yaml@master + with: + node-version: '20.x' + yarn-run-to-execute: 'build:types' + lint: + uses: kaltura/ovp-pipelines-pub/.github/workflows/player_tests.yaml@master + with: + node-version: '20.x' + yarn-run-to-execute: 'lint' notification: if: always() uses: kaltura/ovp-pipelines-pub/.github/workflows/notification.yaml@master - needs: running-tests + needs: [build, test, type-check, lint] secrets: PLAYER_MSTEAMS_WEBHOOK: ${{ secrets.PLAYER_MSTEAMS_WEBHOOK }} with: diff --git a/.gitignore b/.gitignore index 8f1bf62ac..e1b0a741a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,45 +1,7 @@ -# MacOS -.DS_Store - -# Logs -logs -*.log -npm-debug.log* - -# Runtime data -pids -*.pid -*.seed - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories +dist +lib node_modules -jspm_packages - -# Optional npm cache directory -.npm -.npmrc - -# Optional REPL history -.node_repl_history - -.idea - -dist/ +*.log +api-extractor/report/ +api-extractor/report-temp/ +api-extractor/playkit-js.api.json diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 12f7d279a..000000000 --- a/.npmignore +++ /dev/null @@ -1,49 +0,0 @@ -# MacOS -.DS_Store - # Logs -logs -*.log -npm-debug.log* - # Runtime data -pids -*.pid -*.seed - # Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - # Coverage directory used by tools like istanbul -coverage - # nyc test coverage -.nyc_output - # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - # node-waf configuration -.lock-wscript - # Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - # Dependency directories -node_modules -jspm_packages - # Optional npm cache directory -.npm - # Optional REPL history -.node_repl_history - .idea - .git -.gitattributes -.gitignore -.github -.prettierignore -.prettierrc -.travis.yml - docs/ -scripts/ -src/ -test/ -.babelrc -.editorconfig -.eslintignore -.eslintrc.json -.flowconfig -.nmprc -webpack.config.js -karma.conf.js diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 8c98e9ae0..000000000 --- a/.prettierignore +++ /dev/null @@ -1,8 +0,0 @@ -/dist -/src/index.html -CHANGELOG.md -yarn.lock -yarn-error.log -LICENSE -/test/src/assets -coverage diff --git a/.prettierrc b/.prettierrc index e7ecb60b6..2a042b304 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,12 +1,9 @@ { - "printWidth": 150, + "printWidth": 200, "tabWidth": 2, "useTabs": false, "semi": true, "singleQuote": true, "trailingComma": "none", - "bracketSpacing": false, - "jsxBracketSameLine": true, - "arrowParens": "avoid", "proseWrap": "preserve" } diff --git a/api-extractor.json b/api-extractor.json new file mode 100644 index 000000000..0c4efe96a --- /dev/null +++ b/api-extractor.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "/lib/playkit.d.ts", + "bundledPackages": [], + "compiler": {}, + "apiReport": { + "enabled": true, + "reportFolder": "/api-extractor/report", + "reportTempFolder": "/api-extractor/report-temp" + }, + "docModel": { + "enabled": true, + "apiJsonFilePath": "/api-extractor/.api.json" + }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "/dist/.d.ts" + }, + "tsdocMetadata": {}, + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + } + } + } +} diff --git a/api-extractor/playkit-js.api.json b/api-extractor/playkit-js.api.json new file mode 100644 index 000000000..9d71e0e8c --- /dev/null +++ b/api-extractor/playkit-js.api.json @@ -0,0 +1,20215 @@ +{ + "metadata": { + "toolPackage": "@microsoft/api-extractor", + "toolVersion": "7.38.0", + "schemaVersion": 1011, + "oldestForwardsCompatibleVersion": 1001, + "tsdocConfig": { + "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", + "noStandardTags": true, + "tagDefinitions": [ + { + "tagName": "@alpha", + "syntaxKind": "modifier" + }, + { + "tagName": "@beta", + "syntaxKind": "modifier" + }, + { + "tagName": "@defaultValue", + "syntaxKind": "block" + }, + { + "tagName": "@decorator", + "syntaxKind": "block", + "allowMultiple": true + }, + { + "tagName": "@deprecated", + "syntaxKind": "block" + }, + { + "tagName": "@eventProperty", + "syntaxKind": "modifier" + }, + { + "tagName": "@example", + "syntaxKind": "block", + "allowMultiple": true + }, + { + "tagName": "@experimental", + "syntaxKind": "modifier" + }, + { + "tagName": "@inheritDoc", + "syntaxKind": "inline" + }, + { + "tagName": "@internal", + "syntaxKind": "modifier" + }, + { + "tagName": "@label", + "syntaxKind": "inline" + }, + { + "tagName": "@link", + "syntaxKind": "inline", + "allowMultiple": true + }, + { + "tagName": "@override", + "syntaxKind": "modifier" + }, + { + "tagName": "@packageDocumentation", + "syntaxKind": "modifier" + }, + { + "tagName": "@param", + "syntaxKind": "block", + "allowMultiple": true + }, + { + "tagName": "@privateRemarks", + "syntaxKind": "block" + }, + { + "tagName": "@public", + "syntaxKind": "modifier" + }, + { + "tagName": "@readonly", + "syntaxKind": "modifier" + }, + { + "tagName": "@remarks", + "syntaxKind": "block" + }, + { + "tagName": "@returns", + "syntaxKind": "block" + }, + { + "tagName": "@sealed", + "syntaxKind": "modifier" + }, + { + "tagName": "@see", + "syntaxKind": "block" + }, + { + "tagName": "@throws", + "syntaxKind": "block", + "allowMultiple": true + }, + { + "tagName": "@typeParam", + "syntaxKind": "block", + "allowMultiple": true + }, + { + "tagName": "@virtual", + "syntaxKind": "modifier" + }, + { + "tagName": "@betaDocumentation", + "syntaxKind": "modifier" + }, + { + "tagName": "@internalRemarks", + "syntaxKind": "block" + }, + { + "tagName": "@preapproved", + "syntaxKind": "modifier" + } + ], + "supportForTags": { + "@alpha": true, + "@beta": true, + "@defaultValue": true, + "@decorator": true, + "@deprecated": true, + "@eventProperty": true, + "@example": true, + "@experimental": true, + "@inheritDoc": true, + "@internal": true, + "@label": true, + "@link": true, + "@override": true, + "@packageDocumentation": true, + "@param": true, + "@privateRemarks": true, + "@public": true, + "@readonly": true, + "@remarks": true, + "@returns": true, + "@sealed": true, + "@see": true, + "@throws": true, + "@typeParam": true, + "@virtual": true, + "@betaDocumentation": true, + "@internalRemarks": true, + "@preapproved": true + }, + "reportUnsupportedHtmlElements": false + } + }, + "kind": "Package", + "canonicalReference": "@playkit-js/playkit-js!", + "docComment": "", + "name": "@playkit-js/playkit-js", + "preserveMemberOrder": false, + "members": [ + { + "kind": "EntryPoint", + "canonicalReference": "@playkit-js/playkit-js!", + "name": "", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!AbrMode:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "AbrMode: " + }, + { + "kind": "Content", + "text": "{\n readonly MANUAL: \"manual\";\n readonly AUTO: \"auto\";\n}" + } + ], + "fileUrlPath": "src/track/abr-mode-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "AbrMode", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!AdBreakType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "AdBreakType: " + }, + { + "kind": "Content", + "text": "{\n readonly PRE: \"preroll\";\n readonly MID: \"midroll\";\n readonly POST: \"postroll\";\n readonly OVERLAY: \"overlay\";\n}" + } + ], + "fileUrlPath": "src/ads/ad-break-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "AdBreakType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!AdEventType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "AdEventType: " + }, + { + "kind": "Content", + "text": "{\n readonly AD_CAN_SKIP: \"adcanskip\";\n readonly AD_MANIFEST_LOADED: \"admanifestloaded\";\n readonly AD_LOADED: \"adloaded\";\n readonly AD_STARTED: \"adstarted\";\n readonly AD_RESUMED: \"adresumed\";\n readonly AD_PAUSED: \"adpaused\";\n readonly AD_CLICKED: \"adclicked\";\n readonly AD_SKIPPED: \"adskipped\";\n readonly AD_COMPLETED: \"adcompleted\";\n readonly AD_ERROR: \"aderror\";\n readonly ADS_COMPLETED: \"adscompleted\";\n readonly ALL_ADS_COMPLETED: \"alladscompleted\";\n readonly AD_BREAK_START: \"adbreakstart\";\n readonly AD_BREAK_END: \"adbreakend\";\n readonly AD_FIRST_QUARTILE: \"adfirstquartile\";\n readonly AD_MIDPOINT: \"admidpoint\";\n readonly AD_THIRD_QUARTILE: \"adthirdquartile\";\n readonly USER_CLOSED_AD: \"userclosedad\";\n readonly AD_VOLUME_CHANGED: \"advolumechanged\";\n readonly AD_MUTED: \"admuted\";\n readonly AD_PROGRESS: \"adprogress\";\n readonly AD_BUFFERING: \"adbuffering\";\n readonly AD_WATERFALLING: \"adwaterfalling\";\n readonly AD_WATERFALLING_FAILED: \"adwaterfallingfailed\";\n readonly AD_AUTOPLAY_FAILED: \"adautoplayfailed\";\n}" + } + ], + "fileUrlPath": "src/ads/ad-event-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "AdEventType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!AdTagType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "AdTagType: " + }, + { + "kind": "Content", + "text": "{\n readonly VAST: \"vast\";\n readonly VMAP: \"vmap\";\n}" + } + ], + "fileUrlPath": "src/ads/ad-tag-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "AdTagType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!AudioTrack:class", + "docComment": "/**\n * Audio track representation of the player. @classdesc\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare class AudioTrack extends " + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/track/audio-track.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "AudioTrack", + "preserveMemberOrder": false, + "members": [], + "extendsTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "implementsTokenRanges": [] + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!AutoPlayType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "AutoPlayType: " + }, + { + "kind": "Reference", + "text": "PKAutoPlayTypes", + "canonicalReference": "@playkit-js/playkit-js!~PKAutoPlayTypes:type" + } + ], + "fileUrlPath": "src/enums/auto-play-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "AutoPlayType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter:class", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export default class BaseMediaSourceAdapter extends " + }, + { + "kind": "Reference", + "text": "FakeEventTarget", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget:class" + }, + { + "kind": "Content", + "text": " implements " + }, + { + "kind": "Reference", + "text": "IMediaSourceAdapter", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter:interface" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/engines/html5/media-source/base-media-source-adapter.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "BaseMediaSourceAdapter", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#_capabilities:member", + "docComment": "/**\n * The adapter capabilities @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _capabilities: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceCapabilities", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceCapabilities:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "_capabilities", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": true, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#_config:member", + "docComment": "/**\n * The adapter config. @member {Object} _config @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _config: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "_config", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": true, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#_eventManager:member", + "docComment": "/**\n * The event manager of the adapter. @type {EventManager} @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _eventManager: " + }, + { + "kind": "Reference", + "text": "EventManager", + "canonicalReference": "@playkit-js/playkit-js!EventManager:class" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "_eventManager", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": true, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#_getLiveEdge:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _getLiveEdge(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": true, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "_getLiveEdge" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#_loadPromise:member", + "docComment": "/**\n * The load promise @member {Promise<{tracks: Array}>} - _loadPromise @type {Promise<{tracks: Array}>} @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _loadPromise: " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "<{\n tracks: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": ">;\n }> | undefined" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "_loadPromise", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 7 + }, + "isStatic": false, + "isProtected": true, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter._logger:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected static _logger: " + }, + { + "kind": "Reference", + "text": "ILogger", + "canonicalReference": "js-logger!ILogger:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "_logger", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": true, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#_onTrackChanged:member(1)", + "docComment": "/**\n * Triggers the appropriate track changed event.\n *\n * @param track - The selected track. @private\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _onTrackChanged(track: " + }, + { + "kind": "Reference", + "text": "VideoTrack", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:class" + }, + { + "kind": "Content", + "text": " | " + }, + { + "kind": "Reference", + "text": "AudioTrack", + "canonicalReference": "@playkit-js/playkit-js!AudioTrack:class" + }, + { + "kind": "Content", + "text": " | " + }, + { + "kind": "Reference", + "text": "PKTextTrack", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2:class" + }, + { + "kind": "Content", + "text": " | " + }, + { + "kind": "Reference", + "text": "ImageTrack", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 9, + "endIndex": 10 + }, + "releaseTag": "Public", + "isProtected": true, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "track", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 8 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "_onTrackChanged" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#_sourceObj:member", + "docComment": "/**\n * The source object. @member {PKMediaSourceObject} _sourceObj @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _sourceObj?: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "_sourceObj", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": true, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#_trigger:member(1)", + "docComment": "/**\n * Dispatch an adapter event forward.\n *\n * @param name - The name of the event.\n *\n * @param payload - The event payload.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _trigger(name: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", payload?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "isProtected": true, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "name", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "payload", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "_trigger" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#_videoElement:member", + "docComment": "/**\n * The dom video element. @member {HTMLVideoElement} _videoElement @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _videoElement: " + }, + { + "kind": "Reference", + "text": "HTMLVideoElement", + "canonicalReference": "!HTMLVideoElement:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "_videoElement", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": true, + "isAbstract": false + }, + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter:constructor(1)", + "docComment": "/**\n * @constructor Constructs a new instance of the `BaseMediaSourceAdapter` class\n *\n * @param videoElement - The video element which bind to media source adapter.\n *\n * @param source - The source object.\n *\n * @param config - The media source adapter configuration.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(videoElement: " + }, + { + "kind": "Reference", + "text": "HTMLVideoElement", + "canonicalReference": "!HTMLVideoElement:interface" + }, + { + "kind": "Content", + "text": ", source: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ", config?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "videoElement", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "source", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "config", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": true + } + ] + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#applyABRRestriction:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "applyABRRestriction(restrictions: " + }, + { + "kind": "Reference", + "text": "PKABRRestrictionObject", + "canonicalReference": "@playkit-js/playkit-js!PKABRRestrictionObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "restrictions", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "applyABRRestriction" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#attachMediaSource:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "attachMediaSource(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "attachMediaSource" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter.canPlayType:member(1)", + "docComment": "/**\n * Must implemented methods by the derived media source adapter *\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static canPlayType(mimeType: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", preferNative: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "mimeType", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "preferNative", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "canPlayType" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#capabilities:member", + "docComment": "/**\n * @return {PKMediaSourceCapabilities} - The adapter capabilities.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get capabilities(): " + }, + { + "kind": "Reference", + "text": "PKMediaSourceCapabilities", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceCapabilities:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "capabilities", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#destroy:member(1)", + "docComment": "/**\n * Destroys the media source adapter. @function destroy\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "destroy(): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "destroy" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#detachMediaSource:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "detachMediaSource(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "detachMediaSource" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#disableNativeTextTracks:member(1)", + "docComment": "/**\n * Disables all the existing text tracks.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "disableNativeTextTracks(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "disableNativeTextTracks" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#enableAdaptiveBitrate:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "enableAdaptiveBitrate(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "enableAdaptiveBitrate" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#getDrmInfo:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getDrmInfo(): " + }, + { + "kind": "Reference", + "text": "PKDrmDataObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmDataObject:type" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getDrmInfo" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter.getLogger:member", + "docComment": "/**\n * Passing the getLogger function to the actual media source adapter. @type {Function} @static\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static getLogger: " + }, + { + "kind": "Content", + "text": "(name?: string) => " + }, + { + "kind": "Reference", + "text": "ILogger", + "canonicalReference": "js-logger!ILogger:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "getLogger", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#getSegmentDuration:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getSegmentDuration(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getSegmentDuration" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#getStartTimeOfDvrWindow:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getStartTimeOfDvrWindow(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getStartTimeOfDvrWindow" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#getThumbnail:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getThumbnail(time: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "ThumbnailInfo", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo:class" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "time", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "getThumbnail" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#handleMediaError:member(1)", + "docComment": "/**\n * Checks if the adapter can recover from an error triggered by the video element error\n *\n * @param event - the html5 video element error\n *\n * @returns {boolean} - if it can recover or not\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "handleMediaError(event?: " + }, + { + "kind": "Reference", + "text": "MediaError", + "canonicalReference": "!MediaError:interface" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "event", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "handleMediaError" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#hideTextTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "hideTextTrack(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "hideTextTrack" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter.id:member", + "docComment": "/**\n * The id of the adapter. @member {string} id @static @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static id: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "id", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#isAdaptiveBitrateEnabled:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isAdaptiveBitrateEnabled(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isAdaptiveBitrateEnabled" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#isLive:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isLive(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isLive" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter.isMSESupported:member(1)", + "docComment": "/**\n * check for media source supported on browser @static\n *\n * @returns {boolean} - Whether the media source is supported.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static isMSESupported(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isMSESupported" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#isOnLiveEdge:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isOnLiveEdge(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isOnLiveEdge" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter.isSupported:member(1)", + "docComment": "/**\n * Checks if the media source adapter is supported. @function isSupported\n *\n * @returns {boolean} - Whether the media source adapter is supported. @static\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static isSupported(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isSupported" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#liveDuration:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get liveDuration(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "liveDuration", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#load:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "load(): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "<{\n tracks: " + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": "[];\n }>" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "load" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#seekToLiveEdge:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "seekToLiveEdge(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "seekToLiveEdge" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#selectAudioTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectAudioTrack(audioTrack: " + }, + { + "kind": "Reference", + "text": "AudioTrack", + "canonicalReference": "@playkit-js/playkit-js!AudioTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "audioTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "selectAudioTrack" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#selectImageTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectImageTrack(imageTrack: " + }, + { + "kind": "Reference", + "text": "ImageTrack", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "imageTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "selectImageTrack" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#selectTextTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectTextTrack(textTrack: " + }, + { + "kind": "Reference", + "text": "PKTextTrack", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "textTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "selectTextTrack" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#selectVideoTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectVideoTrack(videoTrack: " + }, + { + "kind": "Reference", + "text": "VideoTrack", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "videoTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "selectVideoTrack" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#setMaxBitrate:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "setMaxBitrate(bitrate: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "bitrate", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "setMaxBitrate" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#src:member", + "docComment": "/**\n * Getter for the src that the adapter plays on the video element. In case the adapter preformed a load it will return the manifest url.\n *\n * @returns {string} - The src url.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get src(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";\n\nset src(source: string);" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "src", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMediaSourceAdapter#targetBuffer:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get targetBuffer(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "targetBuffer", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + } + ], + "extendsTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "implementsTokenRanges": [ + { + "startIndex": 3, + "endIndex": 4 + } + ] + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!BaseMiddleware:class", + "docComment": "/**\n * Base middleware. @classdesc\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export default class BaseMiddleware " + } + ], + "fileUrlPath": "src/middleware/base-middleware.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "BaseMiddleware", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!BaseMiddleware#callNext:member(1)", + "docComment": "/**\n * Calls the next handler in the middleware chain.\n *\n * @param next - The next handler in the middleware chain.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "callNext(next: " + }, + { + "kind": "Content", + "text": "(...args: any[]) => any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "next", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "callNext" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!BaseMiddleware#id:member", + "docComment": "/**\n * Id of the middleware instance.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "id: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "id", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!CapabilityResult:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type CapabilityResult = " + }, + { + "kind": "Content", + "text": "{\n [capabilityName: string]: any;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/interfaces/engine-capabilty.ts", + "releaseTag": "Public", + "name": "CapabilityResult", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!CorsType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "CorsType: " + }, + { + "kind": "Content", + "text": "{\n readonly ANONYMOUS: \"anonymous\";\n readonly USE_CREDENTIALS: \"use-credentials\";\n}" + } + ], + "fileUrlPath": "src/engines/html5/cors-types.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "CorsType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Function", + "canonicalReference": "@playkit-js/playkit-js!createTextTrackCue:function(1)", + "docComment": "/**\n * Create a standard TextTrackCue.\n *\n * @param timedMetadata - timed metadata object.\n *\n * @returns {TextTrackCue} - the created text track cue @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare function createTextTrackCue(timedMetadata: " + }, + { + "kind": "Reference", + "text": "TimedMetadata", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "PKTextTrackCue", + "canonicalReference": "@playkit-js/playkit-js!PKTextTrackCue:interface" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/track/timed-metadata.ts", + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "timedMetadata", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "createTextTrackCue" + }, + { + "kind": "Function", + "canonicalReference": "@playkit-js/playkit-js!createTimedMetadata:function(1)", + "docComment": "/**\n * Create a timed metadata object from a standard TextTrackCue.\n *\n * @param cue - text track cue.\n *\n * @returns {?TimedMetadata} - the created timed metadata object. @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare function createTimedMetadata(cue: " + }, + { + "kind": "Reference", + "text": "TextTrackCue", + "canonicalReference": "!TextTrackCue:interface" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "TimedMetadata", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata:class" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/track/timed-metadata.ts", + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "cue", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "createTimedMetadata" + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!CustomEventType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "CustomEventType: " + }, + { + "kind": "Content", + "text": "{\n readonly MEDIA_LOADED: \"medialoaded\";\n readonly PLAYER_RESET: \"playerreset\";\n readonly PLAYER_DESTROY: \"playerdestroy\";\n readonly ENTER_FULLSCREEN: \"enterfullscreen\";\n readonly EXIT_FULLSCREEN: \"exitfullscreen\";\n readonly PLAY_FAILED: \"playfailed\";\n readonly AUTOPLAY_FAILED: \"autoplayfailed\";\n readonly FALLBACK_TO_MUTED_AUTOPLAY: \"fallbacktomutedautoplay\";\n readonly CHANGE_SOURCE_STARTED: \"changesourcestarted\";\n readonly CHANGE_SOURCE_ENDED: \"changesourceended\";\n readonly MUTE_CHANGE: \"mutechange\";\n readonly VIDEO_TRACK_CHANGED: \"videotrackchanged\";\n readonly AUDIO_TRACK_CHANGED: \"audiotrackchanged\";\n readonly TEXT_TRACK_CHANGED: \"texttrackchanged\";\n readonly IMAGE_TRACK_CHANGED: \"imagetrackchanged\";\n readonly TEXT_TRACK_ADDED: \"texttrackadded\";\n readonly TEXT_CUE_CHANGED: \"textcuechanged\";\n readonly TRACKS_CHANGED: \"trackschanged\";\n readonly ABR_MODE_CHANGED: \"abrmodechanged\";\n readonly PLAYER_STATE_CHANGED: \"playerstatechanged\";\n readonly PLAYBACK_START: \"playbackstart\";\n readonly FIRST_PLAY: \"firstplay\";\n readonly FIRST_PLAYING: \"firstplaying\";\n readonly PLAYBACK_ENDED: \"playbackended\";\n readonly SOURCE_SELECTED: \"sourceselected\";\n readonly TEXT_STYLE_CHANGED: \"textstylechanged\";\n readonly MEDIA_RECOVERED: \"mediarecovered\";\n readonly VR_STEREO_MODE_CHANGED: \"vrstereomodechanged\";\n readonly FPS_DROP: \"fpsdrop\";\n readonly BOOKMARK_ERROR: \"bookmarkerror\";\n readonly CONCURRENCY_LIMIT: \"concurrencylimit\";\n readonly RESIZE: \"resize\";\n readonly TIMED_METADATA: \"timedmetadata\";\n readonly TIMED_METADATA_CHANGE: \"timedmetadatachange\";\n readonly TIMED_METADATA_ADDED: \"timedmetadataadded\";\n readonly FRAG_LOADED: \"fragloaded\";\n readonly MANIFEST_LOADED: \"manifestloaded\";\n readonly USER_GESTURE: \"usergesture\";\n readonly DRM_LICENSE_LOADED: \"drmlicenseloaded\";\n readonly SOURCE_URL_SWITCHED: \"sourceurlswitched\";\n}" + } + ], + "fileUrlPath": "src/event/event-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "CustomEventType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!DeferredPromise:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type DeferredPromise = " + }, + { + "kind": "Content", + "text": "{\n resolve: (value?: any | " + }, + { + "kind": "Reference", + "text": "PromiseLike", + "canonicalReference": "!PromiseLike:interface" + }, + { + "kind": "Content", + "text": ") => void;\n reject: (reason?: any) => void;\n catch: (param: () => any) => void;\n then(param: () => void): any;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/deferred-promise.ts", + "releaseTag": "Public", + "name": "DeferredPromise", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!DrmScheme:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "DrmScheme: " + }, + { + "kind": "Content", + "text": "{\n WIDEVINE: string;\n PLAYREADY: string;\n FAIRPLAY: string;\n}" + } + ], + "fileUrlPath": "src/drm/drm-scheme.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "DrmScheme", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!EngineDecoratorProvider:class", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare class EngineDecoratorProvider implements " + }, + { + "kind": "Reference", + "text": "IEngineDecoratorProvider", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecoratorProvider:interface" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/engines/engine-decorator-provider.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "EngineDecoratorProvider", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!EngineDecoratorProvider:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `EngineDecoratorProvider` class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(plugin: " + }, + { + "kind": "Reference", + "text": "IEngineDecoratorProvider", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecoratorProvider:interface" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "plugin", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ] + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!EngineDecoratorProvider#getEngineDecorator:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getEngineDecorator(engine: " + }, + { + "kind": "Reference", + "text": "IEngine", + "canonicalReference": "@playkit-js/playkit-js!IEngine:interface" + }, + { + "kind": "Content", + "text": ", dispatchEventHandler: " + }, + { + "kind": "Content", + "text": "(event: " + }, + { + "kind": "Reference", + "text": "FakeEvent", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent:class" + }, + { + "kind": "Content", + "text": ") => void" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "IEngineDecorator", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "engine", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "dispatchEventHandler", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 6 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "getEngineDecorator" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!EngineDecoratorProvider#getName:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getName(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getName" + } + ], + "implementsTokenRanges": [ + { + "startIndex": 1, + "endIndex": 2 + } + ] + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!EngineType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "EngineType: " + }, + { + "kind": "Content", + "text": "{\n readonly HTML5: \"html5\";\n readonly FLASH: \"flash\";\n readonly SILVERLIGHT: \"silverlight\";\n readonly CAST: \"cast\";\n readonly YOUTUBE: \"youtube\";\n readonly IMAGE: \"image\";\n}" + } + ], + "fileUrlPath": "src/engines/engine-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "EngineType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!Env:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "Env: " + }, + { + "kind": "Reference", + "text": "IEnv", + "canonicalReference": "@playkit-js/playkit-js!~IEnv:interface" + } + ], + "fileUrlPath": "src/utils/env.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "Env", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!Error_2:class", + "docComment": "/**\n * @classdesc This is a description of the error class.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export default class Error " + } + ], + "fileUrlPath": "src/error/error.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "Error_2", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!Error_2:constructor(1)", + "docComment": "/**\n * @constructor Constructs a new instance of the `Error` class\n *\n * @param severity - error's severity\n *\n * @param category - error's category.\n *\n * @param code - error's code.\n *\n * @param data - additional data for the error.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(severity: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ", category: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ", code: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ", data?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "severity", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "category", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "code", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": false + }, + { + "parameterName": "data", + "parameterTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "isOptional": true + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Error_2#category:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "category: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "category", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Error_2.Category:member", + "docComment": "/**\n * @enum {number}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static Category: " + }, + { + "kind": "Reference", + "text": "CategoryType", + "canonicalReference": "@playkit-js/playkit-js!~CategoryType:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "Category", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Error_2#code:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "code: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "code", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Error_2.Code:member", + "docComment": "/**\n * @enum {number}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static Code: " + }, + { + "kind": "Reference", + "text": "CodeType", + "canonicalReference": "@playkit-js/playkit-js!~CodeType:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "Code", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Error_2#data:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "data: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "data", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Error_2#severity:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "severity: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "severity", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Error_2.Severity:member", + "docComment": "/**\n * @enum {number}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static Severity: " + }, + { + "kind": "Reference", + "text": "SeverityType", + "canonicalReference": "@playkit-js/playkit-js!~SeverityType:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "Severity", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!EventManager:class", + "docComment": "/**\n * Creates a new EventManager. An EventManager maintains a collection of \"event bindings\" between event targets and event listeners.\n *\n * @struct @constructor @implements {IDestroyable}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export declare class EventManager " + } + ], + "fileUrlPath": "src/event/event-manager.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "EventManager", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!EventManager:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `EventManager` class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor();" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [] + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!EventManager#destroy:member(1)", + "docComment": "/**\n * Detaches all event listeners.\n *\n * @override\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "destroy(): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "destroy" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!EventManager#listen:member(1)", + "docComment": "/**\n * Attaches an event listener to an event target.\n *\n * @param target - The event target.\n *\n * @param type - The event type.\n *\n * @param listener - The event listener.\n *\n * @param options - The event options.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "listen(target: " + }, + { + "kind": "Reference", + "text": "EventTarget", + "canonicalReference": "!EventTarget:interface" + }, + { + "kind": "Content", + "text": " | " + }, + { + "kind": "Reference", + "text": "FakeEventTarget", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget:class" + }, + { + "kind": "Content", + "text": ", type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", listener: " + }, + { + "kind": "Reference", + "text": "ListenerType", + "canonicalReference": "@playkit-js/playkit-js!~ListenerType:type" + }, + { + "kind": "Content", + "text": ", options?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 11, + "endIndex": 12 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "target", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "type", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": false + }, + { + "parameterName": "listener", + "parameterTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "isOptional": false + }, + { + "parameterName": "options", + "parameterTypeTokenRange": { + "startIndex": 9, + "endIndex": 10 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "listen" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!EventManager#listenOnce:member(1)", + "docComment": "/**\n * Attaches an event listener to an event target for only one time.\n *\n * @param target - The event target.\n *\n * @param type - The event type.\n *\n * @param listener - The event listener.\n *\n * @param options - The event options.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "listenOnce(target: " + }, + { + "kind": "Reference", + "text": "EventTarget", + "canonicalReference": "!EventTarget:interface" + }, + { + "kind": "Content", + "text": " | " + }, + { + "kind": "Reference", + "text": "FakeEventTarget", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget:class" + }, + { + "kind": "Content", + "text": ", type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", listener: " + }, + { + "kind": "Reference", + "text": "ListenerType", + "canonicalReference": "@playkit-js/playkit-js!~ListenerType:type" + }, + { + "kind": "Content", + "text": ", options?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 11, + "endIndex": 12 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "target", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "type", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": false + }, + { + "parameterName": "listener", + "parameterTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "isOptional": false + }, + { + "parameterName": "options", + "parameterTypeTokenRange": { + "startIndex": 9, + "endIndex": 10 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "listenOnce" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!EventManager#removeAll:member(1)", + "docComment": "/**\n * Detaches all event listeners from all targets.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "removeAll(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "removeAll" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!EventManager#unlisten:member(1)", + "docComment": "/**\n * Detaches an event listener from an event target.\n *\n * @param target - The event target.\n *\n * @param type - The event type.\n *\n * @param listener - The event listener to detach. If no given, detaches all event listeners of the target and type.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "unlisten(target: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ", type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", listener?: " + }, + { + "kind": "Reference", + "text": "ListenerType", + "canonicalReference": "@playkit-js/playkit-js!~ListenerType:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "target", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "type", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "listener", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "unlisten" + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!EventType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "EventType: " + }, + { + "kind": "Reference", + "text": "PKEventTypes", + "canonicalReference": "@playkit-js/playkit-js!PKEventTypes:type" + } + ], + "fileUrlPath": "src/event/event-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "EventType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent:class", + "docComment": "/**\n * Create an Event work-alike object based on the dictionary. The event should contain all of the same properties from the dict.\n *\n * @param type - \n *\n * @param opt_dict - @constructor @extends {Event}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export declare class FakeEvent " + } + ], + "fileUrlPath": "src/event/fake-event.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "FakeEvent", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `FakeEvent` class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", payload?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "type", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "payload", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": true + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#bubbles:member", + "docComment": "/**\n * @const {boolean}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "bubbles: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "bubbles", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#cancelable:member", + "docComment": "/**\n * @const {boolean}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "cancelable: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "cancelable", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#currentTarget:member", + "docComment": "/**\n * @type {EventTarget}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "currentTarget: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "currentTarget", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#defaultPrevented:member", + "docComment": "/**\n * @const {boolean}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "defaultPrevented: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "defaultPrevented", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#isTrusted:member", + "docComment": "/**\n * @const {boolean}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isTrusted: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "isTrusted", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#payload:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "payload: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "payload", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#preventDefault:member(1)", + "docComment": "/**\n * Does nothing, since FakeEvents have no default. Provided for compatibility with native Events.\n *\n * @override\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "preventDefault(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "preventDefault" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#stopImmediatePropagation:member(1)", + "docComment": "/**\n * Stops processing event listeners for this event. Provided for compatibility with native Events.\n *\n * @override\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "stopImmediatePropagation(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "stopImmediatePropagation" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#stopped:member", + "docComment": "/**\n * Non-standard property read by FakeEventTarget to stop processing listeners. @type {boolean}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "stopped: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "stopped", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#stopPropagation:member(1)", + "docComment": "/**\n * Does nothing, since FakeEvents do not bubble. Provided for compatibility with native Events.\n *\n * @override\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "stopPropagation(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "stopPropagation" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#target:member", + "docComment": "/**\n * @type {EventTarget}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "target: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "target", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#timeStamp:member", + "docComment": "/**\n * According to MDN, Chrome uses high-res timers instead of epoch time. Follow suit so that timeStamps on FakeEvents use the same base as on native Events. @const {number}\n *\n * @see\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Event/timeStamp\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "timeStamp: " + }, + { + "kind": "Content", + "text": "number | " + }, + { + "kind": "Reference", + "text": "Date", + "canonicalReference": "!Date:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "timeStamp", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent#type:member", + "docComment": "/**\n * @const {string}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "type", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget:class", + "docComment": "/**\n * A work-alike for EventTarget. Only DOM elements may be true EventTargets, but this can be used as a base class to provide event dispatch to non-DOM classes. Only FakeEvents should be dispatched.\n *\n * @struct @constructor @export\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export declare class FakeEventTarget " + } + ], + "fileUrlPath": "src/event/fake-event-target.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "FakeEventTarget", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `FakeEventTarget` class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor();" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [] + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget#addEventListener:member(1)", + "docComment": "/**\n * Add an event listener to this object.\n *\n * @param type - The event type to listen for.\n *\n * @param listener - The callback or listener object to invoke.\n *\n * @param opt_capturing - Ignored. FakeEventTargets do not have parents, so events neither capture nor bubble.\n *\n * @export\n *\n * @override\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "addEventListener(type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", listener: " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "EventListener", + "canonicalReference": "@playkit-js/playkit-js!~EventListener_2:function" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 6, + "endIndex": 7 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "type", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "listener", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "addEventListener" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget#dispatchEvent:member(1)", + "docComment": "/**\n * Dispatch an event from this object.\n *\n * @param event - The event to be dispatched from this object. @return {boolean} True if the default action was prevented.\n *\n * @export\n *\n * @override\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "dispatchEvent(event: " + }, + { + "kind": "Reference", + "text": "FakeEvent", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "event", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "dispatchEvent" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget#removeEventListener:member(1)", + "docComment": "/**\n * Remove an event listener from this object.\n *\n * @param type - The event type for which you wish to remove a listener.\n *\n * @param listener - The callback or listener object to remove.\n *\n * @param opt_capturing - Ignored. FakeEventTargets do not have parents, so events neither capture nor bubble.\n *\n * @export\n *\n * @override\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "removeEventListener(type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", listener: " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "EventListener", + "canonicalReference": "@playkit-js/playkit-js!~EventListener_2:function" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 6, + "endIndex": 7 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "type", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "listener", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "removeEventListener" + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Function", + "canonicalReference": "@playkit-js/playkit-js!filterTracksByRestriction:function(1)", + "docComment": "/**\n * Filter the video tracks which not in the range @function filterVideoTracksByRestriction\n *\n * @param videoTracks - The tracks to filter\n *\n * @param restriction - The restriction\n *\n * @returns {Array} - The relevant video tracks after restrictions.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare function filterTracksByRestriction(videoTracks: " + }, + { + "kind": "Reference", + "text": "VideoTrack", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:class" + }, + { + "kind": "Content", + "text": "[]" + }, + { + "kind": "Content", + "text": ", restriction: " + }, + { + "kind": "Reference", + "text": "PKABRRestrictionObject", + "canonicalReference": "@playkit-js/playkit-js!PKABRRestrictionObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "VideoTrack", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:class" + }, + { + "kind": "Content", + "text": "[]" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/utils/restrictions.ts", + "returnTypeTokenRange": { + "startIndex": 6, + "endIndex": 8 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "videoTracks", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isOptional": false + }, + { + "parameterName": "restriction", + "parameterTypeTokenRange": { + "startIndex": 4, + "endIndex": 5 + }, + "isOptional": false + } + ], + "name": "filterTracksByRestriction" + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!FontScaleOptions:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type FontScaleOptions = " + }, + { + "kind": "Content", + "text": "-2 | -1 | 0 | 2 | 3 | 4" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/text-style.ts", + "releaseTag": "Public", + "name": "FontScaleOptions", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!FontSizeOptions:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type FontSizeOptions = " + }, + { + "kind": "Content", + "text": "'50%' | '75%' | '100%' | '200%' | '300%' | '400%'" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/text-style.ts", + "releaseTag": "Public", + "name": "FontSizeOptions", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!getCapabilities:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getCapabilities: " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "Player.getCapabilities", + "canonicalReference": "@playkit-js/playkit-js!Player.getCapabilities:member" + } + ], + "fileUrlPath": "src/playkit.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "getCapabilities", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "Function", + "canonicalReference": "@playkit-js/playkit-js!getLogger:function(1)", + "docComment": "/**\n * get a logger\n *\n * @param name - the logger name\n *\n * @returns {Object} - the logger class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare function getLogger(name?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "ILogger", + "canonicalReference": "js-logger!ILogger:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/utils/logger.ts", + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "name", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "name": "getLogger" + }, + { + "kind": "Function", + "canonicalReference": "@playkit-js/playkit-js!getLogLevel:function(1)", + "docComment": "/**\n * get the log level\n *\n * @param name - the logger name\n *\n * @returns {PKLogLevelObject} - the log level\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare function getLogLevel(name?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/utils/logger.ts", + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "name", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "name": "getLogLevel" + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!Html5EventType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "Html5EventType: " + }, + { + "kind": "Content", + "text": "{\n readonly ABORT: \"abort\";\n readonly CAN_PLAY: \"canplay\";\n readonly CAN_PLAY_THROUGH: \"canplaythrough\";\n readonly DURATION_CHANGE: \"durationchange\";\n readonly EMPTIED: \"emptied\";\n readonly ENDED: \"ended\";\n readonly ERROR: \"error\";\n readonly LOADED_DATA: \"loadeddata\";\n readonly LOADED_METADATA: \"loadedmetadata\";\n readonly LOAD_START: \"loadstart\";\n readonly PAUSE: \"pause\";\n readonly PLAY: \"play\";\n readonly PLAYING: \"playing\";\n readonly PROGRESS: \"progress\";\n readonly RATE_CHANGE: \"ratechange\";\n readonly SEEKED: \"seeked\";\n readonly SEEKING: \"seeking\";\n readonly STALLED: \"stalled\";\n readonly SUSPEND: \"suspend\";\n readonly TIME_UPDATE: \"timeupdate\";\n readonly VOLUME_CHANGE: \"volumechange\";\n readonly WAITING: \"waiting\";\n readonly ENTER_PICTURE_IN_PICTURE: \"enterpictureinpicture\";\n readonly LEAVE_PICTURE_IN_PICTURE: \"leavepictureinpicture\";\n readonly PRESENTATION_MODE_CHANGED: \"webkitpresentationmodechanged\";\n}" + } + ], + "fileUrlPath": "src/event/event-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "Html5EventType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!ICapability:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface ICapability " + } + ], + "fileUrlPath": "src/types/interfaces/engine-capabilty.ts", + "releaseTag": "Public", + "name": "ICapability", + "preserveMemberOrder": false, + "members": [ + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!ICapability#getCapability:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getCapability(): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "CapabilityResult", + "canonicalReference": "@playkit-js/playkit-js!CapabilityResult:type" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getCapability" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!ICapability#runCapability:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "runCapability(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "runCapability" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!ICapability#setCapabilities:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "setCapabilities(capabilities: " + }, + { + "kind": "Content", + "text": "{\n [name: string]: any;\n }" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "capabilities", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "setCapabilities" + } + ], + "extendsTokenRanges": [] + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!IDrmProtocol:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface IDrmProtocol " + } + ], + "fileUrlPath": "src/types/interfaces/drm-protocol.ts", + "releaseTag": "Public", + "name": "IDrmProtocol", + "preserveMemberOrder": false, + "members": [ + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IDrmProtocol#canPlayDrm:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "canPlayDrm(drmData: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKDrmDataObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmDataObject:type" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 6, + "endIndex": 7 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "drmData", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "isOptional": false + } + ], + "name": "canPlayDrm" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IDrmProtocol#isConfigured:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isConfigured(drmData: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKDrmDataObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmDataObject:type" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": ", drmConfig: " + }, + { + "kind": "Reference", + "text": "PKDrmConfigObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmConfigObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 8, + "endIndex": 9 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "drmData", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "isOptional": false + }, + { + "parameterName": "drmConfig", + "parameterTypeTokenRange": { + "startIndex": 6, + "endIndex": 7 + }, + "isOptional": false + } + ], + "name": "isConfigured" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IDrmProtocol#setDrmPlayback:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "setDrmPlayback(...any: " + }, + { + "kind": "Content", + "text": "any[]" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "any", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "setDrmPlayback" + } + ], + "extendsTokenRanges": [] + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!IEngine:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface IEngine extends " + }, + { + "kind": "Reference", + "text": "FakeEventTarget", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget:class" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/types/interfaces/engine.ts", + "releaseTag": "Public", + "name": "IEngine", + "preserveMemberOrder": false, + "members": [ + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#addTextTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "addTextTrack(kind: " + }, + { + "kind": "Reference", + "text": "TextTrackKind", + "canonicalReference": "!TextTrackKind:type" + }, + { + "kind": "Content", + "text": ", label?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", language?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "TextTrack", + "canonicalReference": "!TextTrack:interface" + }, + { + "kind": "Content", + "text": " | undefined" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 7, + "endIndex": 9 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "kind", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "label", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": true + }, + { + "parameterName": "language", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": true + } + ], + "name": "addTextTrack" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#applyABRRestriction:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "applyABRRestriction(restrictions: " + }, + { + "kind": "Reference", + "text": "PKABRRestrictionObject", + "canonicalReference": "@playkit-js/playkit-js!PKABRRestrictionObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "restrictions", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "applyABRRestriction" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#attach:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "attach(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "attach" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#attachMediaSource:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "attachMediaSource(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "attachMediaSource" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#autoplay:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "autoplay: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "autoplay", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#availableBuffer:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "availableBuffer: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "availableBuffer", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#buffered:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "buffered: " + }, + { + "kind": "Reference", + "text": "TimeRanges", + "canonicalReference": "!TimeRanges:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "buffered", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#controls:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "controls: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "controls", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#crossOrigin:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "crossOrigin: " + }, + { + "kind": "Content", + "text": "string | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "crossOrigin", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#currentTime:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "currentTime: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "currentTime", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#defaultMuted:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "defaultMuted: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "defaultMuted", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#defaultPlaybackRate:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "defaultPlaybackRate: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "defaultPlaybackRate", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#destroy:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "destroy(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "destroy" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#detach:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "detach(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "detach" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#detachMediaSource:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "detachMediaSource(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "detachMediaSource" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#duration:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "duration: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "duration", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#enableAdaptiveBitrate:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "enableAdaptiveBitrate(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "enableAdaptiveBitrate" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#ended:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "ended: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "ended", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#enterPictureInPicture:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "enterPictureInPicture(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "enterPictureInPicture" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#error:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "error: " + }, + { + "kind": "Reference", + "text": "MediaError", + "canonicalReference": "!MediaError:interface" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "error", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#exitPictureInPicture:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "exitPictureInPicture(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "exitPictureInPicture" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#getDrmInfo:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getDrmInfo(): " + }, + { + "kind": "Reference", + "text": "PKDrmDataObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmDataObject:type" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getDrmInfo" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#getNativeTextTracks:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getNativeTextTracks(): " + }, + { + "kind": "Reference", + "text": "TextTrack", + "canonicalReference": "!TextTrack:interface" + }, + { + "kind": "Content", + "text": "[]" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getNativeTextTracks" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#getStartTimeOfDvrWindow:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getStartTimeOfDvrWindow(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getStartTimeOfDvrWindow" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#getThumbnail:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getThumbnail(time: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "ThumbnailInfo", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo:class" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "time", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "getThumbnail" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#getVideoElement:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getVideoElement(): " + }, + { + "kind": "Reference", + "text": "HTMLVideoElement", + "canonicalReference": "!HTMLVideoElement:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getVideoElement" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#hideTextTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "hideTextTrack(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "hideTextTrack" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#id:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "id: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "id", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#isAdaptiveBitrateEnabled:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isAdaptiveBitrateEnabled(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isAdaptiveBitrateEnabled" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#isInPictureInPicture:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isInPictureInPicture: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "isInPictureInPicture", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#isLive:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isLive(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isLive" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#isOnLiveEdge:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isOnLiveEdge(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isOnLiveEdge" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#isPictureInPictureSupported:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isPictureInPictureSupported(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isPictureInPictureSupported" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#liveDuration:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "liveDuration: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "liveDuration", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#load:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "load(startTime?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "<{\n tracks: " + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": "[];\n }>" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 7 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "startTime", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "name": "load" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#loop:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "loop: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "loop", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#muted:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "muted: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "muted", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#networkState:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "networkState: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "networkState", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#pause:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "pause(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "pause" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#paused:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "paused: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "paused", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#play:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "play(): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": " | undefined" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "play" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#playbackRate:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "playbackRate: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "playbackRate", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#playbackRates:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "playbackRates: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "playbackRates", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#played:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "played: " + }, + { + "kind": "Reference", + "text": "TimeRanges", + "canonicalReference": "!TimeRanges:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "played", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#playsinline:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "playsinline: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "playsinline", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#poster:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "poster: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "poster", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#preload:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "preload: " + }, + { + "kind": "Content", + "text": "\"none\" | \"metadata\" | \"auto\" | \"\"" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "preload", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#readyState:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "readyState: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "readyState", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#reset:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "reset(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "reset" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#resetAllCues:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "resetAllCues(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "resetAllCues" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#restore:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "restore(source: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ", config: " + }, + { + "kind": "Reference", + "text": "Object", + "canonicalReference": "!Object:interface" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "source", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "config", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + } + ], + "name": "restore" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#seekable:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "seekable: " + }, + { + "kind": "Reference", + "text": "TimeRanges", + "canonicalReference": "!TimeRanges:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "seekable", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#seeking:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "seeking: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "seeking", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#seekToLiveEdge:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "seekToLiveEdge(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "seekToLiveEdge" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#selectAudioTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectAudioTrack(audioTrack: " + }, + { + "kind": "Reference", + "text": "AudioTrack", + "canonicalReference": "@playkit-js/playkit-js!AudioTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "audioTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "selectAudioTrack" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#selectImageTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectImageTrack(imageTrack: " + }, + { + "kind": "Reference", + "text": "ImageTrack", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "imageTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "selectImageTrack" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#selectTextTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectTextTrack(textTrack: " + }, + { + "kind": "Reference", + "text": "PKTextTrack", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "textTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "selectTextTrack" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#selectVideoTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectVideoTrack(videoTrack: " + }, + { + "kind": "Reference", + "text": "VideoTrack", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "videoTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "selectVideoTrack" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#src:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "src: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "src", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#targetBuffer:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "targetBuffer: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "targetBuffer", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#videoHeight:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "videoHeight: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "videoHeight", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#videoWidth:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "videoWidth: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "videoWidth", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngine#volume:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "volume: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "volume", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + } + ], + "extendsTokenRanges": [ + { + "startIndex": 1, + "endIndex": 2 + } + ] + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface IEngineDecorator " + } + ], + "fileUrlPath": "src/types/interfaces/engine-decorator.ts", + "releaseTag": "Public", + "name": "IEngineDecorator", + "preserveMemberOrder": false, + "members": [ + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#active:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "active: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "active", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#attach:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "attach?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "attach", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#attachMediaSource:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "attachMediaSource?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "attachMediaSource", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#autoplay:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "autoplay?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "autoplay", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#availableBuffer:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "availableBuffer?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "availableBuffer", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#buffered:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "buffered?: " + }, + { + "kind": "Reference", + "text": "TimeRanges", + "canonicalReference": "!TimeRanges:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "buffered", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#controls:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "controls?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "controls", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#crossOrigin:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "crossOrigin?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "crossOrigin", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#currentTime:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "currentTime?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "currentTime", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#defaultMuted:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "defaultMuted?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "defaultMuted", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#defaultPlaybackRate:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "defaultPlaybackRate?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "defaultPlaybackRate", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#destroy:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "destroy?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "destroy", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#detach:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "detach?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "detach", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#detachMediaSource:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "detachMediaSource?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "detachMediaSource", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#dispatchEvent:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "dispatchEvent(event: " + }, + { + "kind": "Reference", + "text": "FakeEvent", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "event", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "dispatchEvent" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#duration:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "duration?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "duration", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#enableAdaptiveBitrate:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "enableAdaptiveBitrate?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "enableAdaptiveBitrate", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#ended:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "ended?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "ended", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#enterPictureInPicture:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "enterPictureInPicture?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "enterPictureInPicture", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#error:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "error?: " + }, + { + "kind": "Reference", + "text": "MediaError", + "canonicalReference": "!MediaError:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "error", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#exitPictureInPicture:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "exitPictureInPicture?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "exitPictureInPicture", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#getStartTimeOfDvrWindow:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getStartTimeOfDvrWindow?: " + }, + { + "kind": "Content", + "text": "() => number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "getStartTimeOfDvrWindow", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#getVideoElement:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getVideoElement?: " + }, + { + "kind": "Content", + "text": "() => " + }, + { + "kind": "Reference", + "text": "HTMLVideoElement", + "canonicalReference": "!HTMLVideoElement:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "getVideoElement", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#hideTextTrack:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "hideTextTrack?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "hideTextTrack", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#id:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "id?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "id", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#isAdaptiveBitrateEnabled:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isAdaptiveBitrateEnabled?: " + }, + { + "kind": "Content", + "text": "() => boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "isAdaptiveBitrateEnabled", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#isInPictureInPicture:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isInPictureInPicture?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "isInPictureInPicture", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#isLive:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isLive?: " + }, + { + "kind": "Content", + "text": "() => boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "isLive", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#isPictureInPictureSupported:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isPictureInPictureSupported?: " + }, + { + "kind": "Content", + "text": "() => boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "isPictureInPictureSupported", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#load:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "load?: " + }, + { + "kind": "Content", + "text": "(startTime?: number) => " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "load", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#loop:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "loop?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "loop", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#muted:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "muted?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "muted", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#networkState:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "networkState?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "networkState", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#pause:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "pause?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "pause", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#paused:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "paused?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "paused", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#play:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "play?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "play", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#playbackRate:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "playbackRate?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "playbackRate", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#playbackRates:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "playbackRates?: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "playbackRates", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#played:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "played?: " + }, + { + "kind": "Reference", + "text": "TimeRanges", + "canonicalReference": "!TimeRanges:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "played", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#playsinline:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "playsinline?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "playsinline", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#poster:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "poster?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "poster", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#preload:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "preload?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "preload", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#readyState:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "readyState?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "readyState", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#reset:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "reset?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "reset", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#resetAllCues:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "resetAllCues?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "resetAllCues", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#restore:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "restore?: " + }, + { + "kind": "Content", + "text": "(source: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ", config: any) => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "restore", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#seekable:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "seekable?: " + }, + { + "kind": "Reference", + "text": "TimeRanges", + "canonicalReference": "!TimeRanges:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "seekable", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#seeking:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "seeking?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "seeking", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#seekToLiveEdge:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "seekToLiveEdge?: " + }, + { + "kind": "Content", + "text": "() => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "seekToLiveEdge", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#selectAudioTrack:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectAudioTrack?: " + }, + { + "kind": "Content", + "text": "(audioTrack: " + }, + { + "kind": "Reference", + "text": "AudioTrack", + "canonicalReference": "@playkit-js/playkit-js!AudioTrack:class" + }, + { + "kind": "Content", + "text": ") => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "selectAudioTrack", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#selectTextTrack:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectTextTrack?: " + }, + { + "kind": "Content", + "text": "(textTrack: " + }, + { + "kind": "Reference", + "text": "TextTrack", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2:class" + }, + { + "kind": "Content", + "text": ") => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "selectTextTrack", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#selectVideoTrack:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectVideoTrack?: " + }, + { + "kind": "Content", + "text": "(videoTrack: " + }, + { + "kind": "Reference", + "text": "VideoTrack", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:class" + }, + { + "kind": "Content", + "text": ") => void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "selectVideoTrack", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#src:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "src?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "src", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#targetBuffer:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "targetBuffer?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "targetBuffer", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#videoHeight:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "videoHeight?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "videoHeight", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#videoWidth:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "videoWidth?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "videoWidth", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator#volume:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "volume?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "volume", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + } + ], + "extendsTokenRanges": [] + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecoratorProvider:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface IEngineDecoratorProvider " + } + ], + "fileUrlPath": "src/types/engine-decorator-provider.ts", + "releaseTag": "Public", + "name": "IEngineDecoratorProvider", + "preserveMemberOrder": false, + "members": [ + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecoratorProvider#getEngineDecorator:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getEngineDecorator(engine: " + }, + { + "kind": "Reference", + "text": "IEngine", + "canonicalReference": "@playkit-js/playkit-js!IEngine:interface" + }, + { + "kind": "Content", + "text": ", dispatchEventHandler: " + }, + { + "kind": "Reference", + "text": "Function", + "canonicalReference": "!Function:interface" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "IEngineDecorator", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecorator:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "engine", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "dispatchEventHandler", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + } + ], + "name": "getEngineDecorator" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecoratorProvider#getName:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getName(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getName" + } + ], + "extendsTokenRanges": [] + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!IEngineStatic:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface IEngineStatic " + } + ], + "fileUrlPath": "src/types/interfaces/engine.ts", + "releaseTag": "Public", + "name": "IEngineStatic", + "preserveMemberOrder": false, + "members": [ + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineStatic#canPlaySource:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "canPlaySource(source: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ", preferNative: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ", drmConfig: " + }, + { + "kind": "Reference", + "text": "PKDrmConfigObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmConfigObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "source", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "preferNative", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "drmConfig", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": false + } + ], + "name": "canPlaySource" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineStatic#createEngine:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "createEngine(source: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ", config: " + }, + { + "kind": "Reference", + "text": "Object", + "canonicalReference": "!Object:interface" + }, + { + "kind": "Content", + "text": ", playerId: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "IEngine", + "canonicalReference": "@playkit-js/playkit-js!IEngine:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "source", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "config", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "playerId", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": false + } + ], + "name": "createEngine" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineStatic#getCapabilities:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getCapabilities(): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getCapabilities" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineStatic#id:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "id: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "id", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineStatic#isSupported:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isSupported(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isSupported" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineStatic#prepareVideoElement:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "prepareVideoElement(playerId: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "playerId", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "prepareVideoElement" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineStatic#runCapabilities:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "runCapabilities(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "runCapabilities" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IEngineStatic#setCapabilities:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "setCapabilities(capabilities: " + }, + { + "kind": "Content", + "text": "{\n [name: string]: any;\n }" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "capabilities", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "setCapabilities" + } + ], + "extendsTokenRanges": [] + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!ImageSourceOptions:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type ImageSourceOptions = " + }, + { + "kind": "Content", + "text": "{\n thumbnailAPIParams: {\n [parmaName: string]: string;\n };\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/image-player-options.ts", + "releaseTag": "Public", + "name": "ImageSourceOptions", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack:class", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare class ImageTrack extends " + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/track/image-track.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "ImageTrack", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `ImageTrack` class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(settings: " + }, + { + "kind": "Content", + "text": "{\n id: string;\n active: boolean;\n index: number;\n url: string;\n width: number;\n height: number;\n duration: number;\n rows: number;\n cols: number;\n customData: any;\n }" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "settings", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack#cols:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get cols(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "cols", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack#customData:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get customData(): " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "customData", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack#duration:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get duration(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "duration", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack#height:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get height(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "height", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack#rows:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get rows(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "rows", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack#sliceHeight:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get sliceHeight(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "sliceHeight", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack#sliceWidth:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get sliceWidth(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "sliceWidth", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack#url:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get url(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "url", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack#width:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get width(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "width", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + } + ], + "extendsTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "implementsTokenRanges": [] + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface IMediaSourceAdapter extends " + }, + { + "kind": "Reference", + "text": "FakeEventTarget", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget:class" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/types/interfaces/media-source-adapter.ts", + "releaseTag": "Public", + "name": "IMediaSourceAdapter", + "preserveMemberOrder": false, + "members": [ + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#applyABRRestriction:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "applyABRRestriction(restriction: " + }, + { + "kind": "Reference", + "text": "PKABRRestrictionObject", + "canonicalReference": "@playkit-js/playkit-js!PKABRRestrictionObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "restriction", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "applyABRRestriction" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#attachMediaSource:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "attachMediaSource(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "attachMediaSource" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#capabilities:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "capabilities: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceCapabilities", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceCapabilities:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "capabilities", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#destroy:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "destroy(): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "destroy" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#detachMediaSource:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "detachMediaSource(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "detachMediaSource" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#disableNativeTextTracks:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "disableNativeTextTracks(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "disableNativeTextTracks" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#enableAdaptiveBitrate:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "enableAdaptiveBitrate(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "enableAdaptiveBitrate" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#getDrmInfo:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getDrmInfo(): " + }, + { + "kind": "Reference", + "text": "PKDrmDataObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmDataObject:type" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getDrmInfo" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#getSegmentDuration:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getSegmentDuration(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getSegmentDuration" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#getStartTimeOfDvrWindow:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getStartTimeOfDvrWindow(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "getStartTimeOfDvrWindow" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#getThumbnail:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getThumbnail(time: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "ThumbnailInfo", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo:class" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "time", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "getThumbnail" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#handleMediaError:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "handleMediaError(error?: " + }, + { + "kind": "Reference", + "text": "MediaError", + "canonicalReference": "!MediaError:interface" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "error", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "name": "handleMediaError" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#hideTextTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "hideTextTrack(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "hideTextTrack" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#isAdaptiveBitrateEnabled:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isAdaptiveBitrateEnabled(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isAdaptiveBitrateEnabled" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#isLive:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isLive(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isLive" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#isOnLiveEdge:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isOnLiveEdge(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isOnLiveEdge" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#liveDuration:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "liveDuration: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "liveDuration", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#load:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "load(startTime?: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "<{\n tracks: " + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": "[];\n }>" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 7 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "startTime", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "name": "load" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#seekToLiveEdge:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "seekToLiveEdge(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "seekToLiveEdge" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#selectAudioTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectAudioTrack(audioTrack: " + }, + { + "kind": "Reference", + "text": "AudioTrack", + "canonicalReference": "@playkit-js/playkit-js!AudioTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "audioTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "selectAudioTrack" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#selectImageTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectImageTrack(imageTrack: " + }, + { + "kind": "Reference", + "text": "ImageTrack", + "canonicalReference": "@playkit-js/playkit-js!ImageTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "imageTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "selectImageTrack" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#selectTextTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectTextTrack(textTrack: " + }, + { + "kind": "Reference", + "text": "PKTextTrack", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "textTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "selectTextTrack" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#selectVideoTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectVideoTrack(videoTrack: " + }, + { + "kind": "Reference", + "text": "VideoTrack", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "videoTrack", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "selectVideoTrack" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#setMaxBitrate:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "setMaxBitrate(bitrate: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "bitrate", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "setMaxBitrate" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#src:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "src: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "src", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter#targetBuffer:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "targetBuffer: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "targetBuffer", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + } + ], + "extendsTokenRanges": [ + { + "startIndex": 1, + "endIndex": 2 + } + ] + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapterStatic:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface IMediaSourceAdapterStatic " + } + ], + "fileUrlPath": "src/types/interfaces/media-source-adapter.ts", + "releaseTag": "Public", + "name": "IMediaSourceAdapterStatic", + "preserveMemberOrder": false, + "members": [ + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapterStatic#canPlayDrm:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "canPlayDrm(drmData: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "Object", + "canonicalReference": "!Object:interface" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": ", drmConfig: " + }, + { + "kind": "Reference", + "text": "PKDrmConfigObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmConfigObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 8, + "endIndex": 9 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "drmData", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "isOptional": false + }, + { + "parameterName": "drmConfig", + "parameterTypeTokenRange": { + "startIndex": 6, + "endIndex": 7 + }, + "isOptional": false + } + ], + "name": "canPlayDrm" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapterStatic#canPlayType:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "canPlayType(mimeType: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "mimeType", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "canPlayType" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapterStatic#createAdapter:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "createAdapter(videoElement: " + }, + { + "kind": "Reference", + "text": "HTMLVideoElement", + "canonicalReference": "!HTMLVideoElement:interface" + }, + { + "kind": "Content", + "text": ", source: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ", config: " + }, + { + "kind": "Reference", + "text": "Object", + "canonicalReference": "!Object:interface" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "IMediaSourceAdapter", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapter:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "videoElement", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "source", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "config", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": false + } + ], + "name": "createAdapter" + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapterStatic#id:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "id: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "id", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapterStatic#isMSESupported:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isMSESupported(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isMSESupported" + }, + { + "kind": "MethodSignature", + "canonicalReference": "@playkit-js/playkit-js!IMediaSourceAdapterStatic#isSupported:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "isSupported(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isOptional": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "isSupported" + } + ], + "extendsTokenRanges": [] + }, + { + "kind": "Function", + "canonicalReference": "@playkit-js/playkit-js!loadPlayer:function(1)", + "docComment": "/**\n * @param config - The configuration of the player\n *\n * @returns {Player} - The player instance\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export declare function loadPlayer(config: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "Player", + "canonicalReference": "@playkit-js/playkit-js!Player:class" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/playkit.ts", + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "config", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "loadPlayer" + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!LoggerLevels:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type LoggerLevels = " + }, + { + "kind": "Content", + "text": "{\n TRACE: " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ";\n TIME: " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ";\n ERROR: " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ";\n INFO: " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ";\n DEBUG: " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ";\n WARN: " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ";\n OFF: " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ";\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/logger-levels.ts", + "releaseTag": "Public", + "name": "LoggerLevels", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 16 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!LogLevel:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "LogLevel: " + }, + { + "kind": "Reference", + "text": "LoggerLevels", + "canonicalReference": "@playkit-js/playkit-js!LoggerLevels:type" + } + ], + "fileUrlPath": "src/utils/logger.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "LogLevel", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!LogLevelType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "LogLevelType: " + }, + { + "kind": "Reference", + "text": "Record", + "canonicalReference": "!Record:type" + }, + { + "kind": "Content", + "text": "" + } + ], + "fileUrlPath": "src/utils/logger.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "LogLevelType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 7 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!MaybeState:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type MaybeState = " + }, + { + "kind": "Reference", + "text": "State", + "canonicalReference": "@playkit-js/playkit-js!State:class" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/player-state.ts", + "releaseTag": "Public", + "name": "MaybeState", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!MediaType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "MediaType: " + }, + { + "kind": "Content", + "text": "{\n readonly VOD: \"Vod\";\n readonly LIVE: \"Live\";\n readonly AUDIO: \"Audio\";\n readonly IMAGE: \"Image\";\n readonly UNKNOWN: \"Unknown\";\n}" + } + ], + "fileUrlPath": "src/enums/media-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "MediaType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!MimeType_2:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "MimeType: " + }, + { + "kind": "Reference", + "text": "PKMimeTypes", + "canonicalReference": "@playkit-js/playkit-js!PKMimeTypes:type" + } + ], + "fileUrlPath": "src/enums/mime-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "MimeType_2", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!NAME:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "NAME: " + }, + { + "kind": "Content", + "text": "string" + } + ], + "fileUrlPath": "src/playkit.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "NAME", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKAbrConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKAbrConfigObject = " + }, + { + "kind": "Content", + "text": "{\n fpsDroppedMonitoringThreshold: number;\n fpsDroppedFramesInterval: number;\n capLevelOnFPSDrop: boolean;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/abr-config.ts", + "releaseTag": "Public", + "name": "PKAbrConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKABRRestrictionObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKABRRestrictionObject = " + }, + { + "kind": "Content", + "text": "{\n minHeight: number;\n maxHeight: number;\n minWidth: number;\n maxWidth: number;\n minBitrate: number;\n maxBitrate: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/restrictions-types.ts", + "releaseTag": "Public", + "name": "PKABRRestrictionObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKAdBreakOptions:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKAdBreakOptions = " + }, + { + "kind": "Content", + "text": "{\n type?: string;\n position?: number;\n numAds?: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/ad-break-options.ts", + "releaseTag": "Public", + "name": "PKAdBreakOptions", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKAdOptions:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKAdOptions = " + }, + { + "kind": "Content", + "text": "{\n system?: string;\n url?: string;\n contentType?: string;\n title?: string;\n position?: number;\n duration?: number;\n clickThroughUrl?: string;\n posterUrl?: string;\n skipOffset?: number;\n linear: boolean;\n width: number;\n height: number;\n bitrate: number;\n bumper: boolean;\n inStream?: boolean;\n vpaid?: boolean;\n streamId?: string;\n wrapperAdIds: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": ";\n wrapperCreativeIds: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": ";\n wrapperAdSystems: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": ";\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/ad-options.ts", + "releaseTag": "Public", + "name": "PKAdOptions", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 8 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKCustomLabelsConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKCustomLabelsConfigObject = " + }, + { + "kind": "Content", + "text": "{\n audio: " + }, + { + "kind": "Reference", + "text": "Function", + "canonicalReference": "!Function:interface" + }, + { + "kind": "Content", + "text": ";\n qualities: " + }, + { + "kind": "Reference", + "text": "Function", + "canonicalReference": "!Function:interface" + }, + { + "kind": "Content", + "text": ";\n video: " + }, + { + "kind": "Reference", + "text": "Function", + "canonicalReference": "!Function:interface" + }, + { + "kind": "Content", + "text": ";\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/custom-labels-config.ts", + "releaseTag": "Public", + "name": "PKCustomLabelsConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 8 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKDimensionsConfig:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKDimensionsConfig = " + }, + { + "kind": "Content", + "text": "{\n width: number;\n height: number;\n ratio?: string;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/dimensions.ts", + "releaseTag": "Public", + "name": "PKDimensionsConfig", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKDrmConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKDrmConfigObject = " + }, + { + "kind": "Content", + "text": "{\n keySystem: string;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/drm-config.ts", + "releaseTag": "Public", + "name": "PKDrmConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKDrmDataObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKDrmDataObject = " + }, + { + "kind": "Content", + "text": "{\n licenseUrl: string;\n scheme: string;\n certificate?: string;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/drm-data.ts", + "releaseTag": "Public", + "name": "PKDrmDataObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKEventTypes:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKEventTypes = " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "Html5EventType", + "canonicalReference": "@playkit-js/playkit-js!Html5EventType:var" + }, + { + "kind": "Content", + "text": " & typeof " + }, + { + "kind": "Reference", + "text": "CustomEventType", + "canonicalReference": "@playkit-js/playkit-js!CustomEventType:var" + }, + { + "kind": "Content", + "text": " & typeof " + }, + { + "kind": "Reference", + "text": "AdEventType", + "canonicalReference": "@playkit-js/playkit-js!AdEventType:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/event-types.ts", + "releaseTag": "Public", + "name": "PKEventTypes", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 7 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKExternalThumbnailsConfig:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKExternalThumbnailsConfig = " + }, + { + "kind": "Content", + "text": "{\n vttUrl: string;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/exteranl-thumbnails-object.ts", + "releaseTag": "Public", + "name": "PKExternalThumbnailsConfig", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKLogConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKLogConfigObject = " + }, + { + "kind": "Content", + "text": "{\n level: string;\n handler?: " + }, + { + "kind": "Reference", + "text": "ILogHandler", + "canonicalReference": "js-logger!ILogHandler:interface" + }, + { + "kind": "Content", + "text": ";\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/log-level.ts", + "releaseTag": "Public", + "name": "PKLogConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceCapabilities:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKMediaSourceCapabilities = " + }, + { + "kind": "Content", + "text": "{\n [fpsControl: string]: boolean;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/media-source-capabilities.ts", + "releaseTag": "Public", + "name": "PKMediaSourceCapabilities", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKMediaSourceObject = " + }, + { + "kind": "Content", + "text": "{\n mimetype: string;\n url: string;\n id?: string;\n bandwidth: number;\n width: number;\n height: number;\n drmData?: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKDrmDataObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmDataObject:type" + }, + { + "kind": "Content", + "text": ">;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/media-source.ts", + "releaseTag": "Public", + "name": "PKMediaSourceObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 6 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceOptionsObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKMediaSourceOptionsObject = " + }, + { + "kind": "Content", + "text": "{\n forceRedirectExternalStreams: boolean;\n redirectExternalStreamsHandler?: " + }, + { + "kind": "Reference", + "text": "Function", + "canonicalReference": "!Function:interface" + }, + { + "kind": "Content", + "text": ";\n redirectExternalStreamsTimeout?: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/media-source-options.ts", + "releaseTag": "Public", + "name": "PKMediaSourceOptionsObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKMetadataConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKMetadataConfigObject = " + }, + { + "kind": "Content", + "text": "{\n name?: string;\n description?: string;\n mediaType?: string;\n metas?: " + }, + { + "kind": "Reference", + "text": "Object", + "canonicalReference": "!Object:interface" + }, + { + "kind": "Content", + "text": ";\n tags?: " + }, + { + "kind": "Reference", + "text": "Object", + "canonicalReference": "!Object:interface" + }, + { + "kind": "Content", + "text": ";\n epgId?: string;\n recordingId?: string;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/metadata-config.ts", + "releaseTag": "Public", + "name": "PKMetadataConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 6 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKMimeTypes:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKMimeTypes = " + }, + { + "kind": "Content", + "text": "{\n [mime: string]: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": ";\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/mime-types.ts", + "releaseTag": "Public", + "name": "PKMimeTypes", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKNetworkConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKNetworkConfigObject = " + }, + { + "kind": "Content", + "text": "{\n requestFilter?: " + }, + { + "kind": "Reference", + "text": "Function", + "canonicalReference": "!Function:interface" + }, + { + "kind": "Content", + "text": ";\n responseFilter?: " + }, + { + "kind": "Reference", + "text": "Function", + "canonicalReference": "!Function:interface" + }, + { + "kind": "Content", + "text": ";\n maxStaleLevelReloads: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/network-config.ts", + "releaseTag": "Public", + "name": "PKNetworkConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 6 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKOrientationType:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKOrientationType = " + }, + { + "kind": "Content", + "text": "{\n [type: string]: string;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/screen-orientation-type.ts", + "releaseTag": "Public", + "name": "PKOrientationType", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKPlaybackConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKPlaybackConfigObject = " + }, + { + "kind": "Content", + "text": "{\n audioLanguage: string;\n textLanguage: string;\n captionsDisplay: boolean;\n additionalAudioLanguage: string;\n additionalTextLanguage: string;\n volume: number;\n playsinline: boolean;\n crossOrigin: string;\n preload: string;\n autoplay: " + }, + { + "kind": "Reference", + "text": "PKAutoPlayTypes", + "canonicalReference": "@playkit-js/playkit-js!~PKAutoPlayTypes:type" + }, + { + "kind": "Content", + "text": ";\n allowMutedAutoPlay: boolean;\n muted: boolean;\n pictureInPicture: boolean;\n streamPriority: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKStreamPriorityObject", + "canonicalReference": "@playkit-js/playkit-js!PKStreamPriorityObject:type" + }, + { + "kind": "Content", + "text": ">;\n preferNative: " + }, + { + "kind": "Reference", + "text": "PKPreferNativeConfigObject", + "canonicalReference": "@playkit-js/playkit-js!PKPreferNativeConfigObject:type" + }, + { + "kind": "Content", + "text": ";\n inBrowserFullscreen: boolean;\n playAdsWithMSE: boolean;\n screenLockOrientionMode: string;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/playback-config.ts", + "releaseTag": "Public", + "name": "PKPlaybackConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 10 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKPlaybackOptionsObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKPlaybackOptionsObject = " + }, + { + "kind": "Content", + "text": "{\n html5: {\n hls: " + }, + { + "kind": "Reference", + "text": "Object", + "canonicalReference": "!Object:interface" + }, + { + "kind": "Content", + "text": ";\n dash: " + }, + { + "kind": "Reference", + "text": "Object", + "canonicalReference": "!Object:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/playback-options.ts", + "releaseTag": "Public", + "name": "PKPlaybackOptionsObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 6 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKPlayerDimensions:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKPlayerDimensions = " + }, + { + "kind": "Content", + "text": "{\n width: number;\n height: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/dimensions.ts", + "releaseTag": "Public", + "name": "PKPlayerDimensions", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKPlayOptionsObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKPlayOptionsObject = " + }, + { + "kind": "Content", + "text": "{\n programmatic: boolean;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/play-options.ts", + "releaseTag": "Public", + "name": "PKPlayOptionsObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKPreferNativeConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKPreferNativeConfigObject = " + }, + { + "kind": "Content", + "text": "{\n hls: boolean;\n dash: boolean;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/prefer-native-config.ts", + "releaseTag": "Public", + "name": "PKPreferNativeConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKRequestObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKRequestObject = " + }, + { + "kind": "Content", + "text": "{\n url: string;\n body: " + }, + { + "kind": "Reference", + "text": "ArrayBuffer", + "canonicalReference": "!ArrayBuffer:interface" + }, + { + "kind": "Content", + "text": " | " + }, + { + "kind": "Reference", + "text": "ArrayBufferView", + "canonicalReference": "!ArrayBufferView:interface" + }, + { + "kind": "Content", + "text": " | string | null;\n headers: {\n [header: string]: string;\n };\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/request.ts", + "releaseTag": "Public", + "name": "PKRequestObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 6 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKRequestType:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKRequestType = " + }, + { + "kind": "Content", + "text": "{\n [request: string]: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/request-types.ts", + "releaseTag": "Public", + "name": "PKRequestType", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKResponseObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKResponseObject = " + }, + { + "kind": "Content", + "text": "{\n url: string;\n originalUrl: string;\n data: " + }, + { + "kind": "Reference", + "text": "ArrayBuffer", + "canonicalReference": "!ArrayBuffer:interface" + }, + { + "kind": "Content", + "text": " | " + }, + { + "kind": "Reference", + "text": "ArrayBufferView", + "canonicalReference": "!ArrayBufferView:interface" + }, + { + "kind": "Content", + "text": ";\n headers: {\n [header: string]: string;\n };\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/response.ts", + "releaseTag": "Public", + "name": "PKResponseObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 6 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKSessionConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKSessionConfigObject = " + }, + { + "kind": "Content", + "text": "{\n id?: string;\n ks?: string;\n isAnonymous?: boolean;\n partnerId?: number;\n uiConfId?: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/session-config.ts", + "releaseTag": "Public", + "name": "PKSessionConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKSourcesConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKSourcesConfigObject = " + }, + { + "kind": "Content", + "text": "{\n hls: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ">;\n dash: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ">;\n progressive: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ">;\n image: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKMediaSourceObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceObject:type" + }, + { + "kind": "Content", + "text": ">;\n captions?: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKExternalCaptionObject", + "canonicalReference": "@playkit-js/playkit-js!~PKExternalCaptionObject:type" + }, + { + "kind": "Content", + "text": ">;\n thumbnails?: " + }, + { + "kind": "Reference", + "text": "PKExternalThumbnailsConfig", + "canonicalReference": "@playkit-js/playkit-js!PKExternalThumbnailsConfig:type" + }, + { + "kind": "Content", + "text": ";\n options: " + }, + { + "kind": "Reference", + "text": "PKMediaSourceOptionsObject", + "canonicalReference": "@playkit-js/playkit-js!PKMediaSourceOptionsObject:type" + }, + { + "kind": "Content", + "text": ";\n type: string;\n dvr: boolean;\n metadata: " + }, + { + "kind": "Reference", + "text": "PKMetadataConfigObject", + "canonicalReference": "@playkit-js/playkit-js!PKMetadataConfigObject:type" + }, + { + "kind": "Content", + "text": ";\n id?: string;\n poster?: string;\n duration?: number;\n startTime?: number;\n vr?: any;\n imageSourceOptions?: " + }, + { + "kind": "Reference", + "text": "ImageSourceOptions", + "canonicalReference": "@playkit-js/playkit-js!ImageSourceOptions:type" + }, + { + "kind": "Content", + "text": ";\n seekFrom?: number;\n clipTo?: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/sources-config.ts", + "releaseTag": "Public", + "name": "PKSourcesConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 30 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKStatsObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKStatsObject = " + }, + { + "kind": "Content", + "text": "{\n targetBuffer: number;\n availableBuffer: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/stats.ts", + "releaseTag": "Public", + "name": "PKStatsObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKStreamingConfigObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKStreamingConfigObject = " + }, + { + "kind": "Content", + "text": "{\n forceBreakStall: boolean;\n lowLatencyMode: boolean;\n trackEmsgEvents: boolean;\n switchDynamicToStatic: boolean;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/streaming-config.ts", + "releaseTag": "Public", + "name": "PKStreamingConfigObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKStreamPriorityObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKStreamPriorityObject = " + }, + { + "kind": "Content", + "text": "{\n engine: string;\n format: string;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/stream-priority.ts", + "releaseTag": "Public", + "name": "PKStreamPriorityObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKStreamTypes:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKStreamTypes = " + }, + { + "kind": "Reference", + "text": "Record", + "canonicalReference": "!Record:type" + }, + { + "kind": "Content", + "text": "<'DASH' | 'HLS' | 'PROGRESSIVE' | 'IMAGE', " + }, + { + "kind": "Reference", + "text": "PlayerStreamTypes", + "canonicalReference": "@playkit-js/playkit-js!PlayerStreamTypes:type" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/stream-types.ts", + "releaseTag": "Public", + "name": "PKStreamTypes", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 5 + } + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface PKTextConfigObject " + } + ], + "fileUrlPath": "src/types/text-config.ts", + "releaseTag": "Public", + "name": "PKTextConfigObject", + "preserveMemberOrder": false, + "members": [ + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#captionsTextTrack1Label:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "captionsTextTrack1Label: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "captionsTextTrack1Label", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#captionsTextTrack1LanguageCode:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "captionsTextTrack1LanguageCode: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "captionsTextTrack1LanguageCode", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#captionsTextTrack2Label:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "captionsTextTrack2Label: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "captionsTextTrack2Label", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#captionsTextTrack2LanguageCode:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "captionsTextTrack2LanguageCode: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "captionsTextTrack2LanguageCode", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#enableCEA708Captions:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "enableCEA708Captions: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "enableCEA708Captions", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#forceCenter:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "forceCenter: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "forceCenter", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#textStyle:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "textStyle: " + }, + { + "kind": "Reference", + "text": "PKTextStyleObject", + "canonicalReference": "@playkit-js/playkit-js!PKTextStyleObject:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "textStyle", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#textTrackDisplaySetting:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "textTrackDisplaySetting: " + }, + { + "kind": "Reference", + "text": "PKTextTrackDisplaySettingObject", + "canonicalReference": "@playkit-js/playkit-js!PKTextTrackDisplaySettingObject:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "textTrackDisplaySetting", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#useNativeTextTrack:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "useNativeTextTrack: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "useNativeTextTrack", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextConfigObject#useShakaTextTrackDisplay:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "useShakaTextTrackDisplay: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "useShakaTextTrackDisplay", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + } + ], + "extendsTokenRanges": [] + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKTextStyleObject:type", + "docComment": "/**\n * @typedef {Object} PKTextStyleObject @property {\"50%\" | \"75%\" | \"100%\" | \"200%\" | \"300%\" | \"400%\"} fontSize='100%' - Percentage unit relative to the parent element's font size. @property {-2 | -1 | 0 | 2 | 3 | 4} fontScale=0 - - Integer number representing the scaling factor relative to the parent element's font size. @property {string} fontFamily='sans-serif' @property {[number, number, number]} fontColor=[255, 255, 255] - Color in RGB format. @property {number} fontOpacity=1 @property {Array<[number, number, number, number, number, number]>} fontEdge=[] @property {[number, number, number]} backgroundColor=[0, 0, 0] - Color in RGB format. @property {number} backgroundOpacity=1\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKTextStyleObject = " + }, + { + "kind": "Content", + "text": "{\n fontSize: " + }, + { + "kind": "Reference", + "text": "FontSizeOptions", + "canonicalReference": "@playkit-js/playkit-js!FontSizeOptions:type" + }, + { + "kind": "Content", + "text": ";\n fontScale: " + }, + { + "kind": "Reference", + "text": "FontScaleOptions", + "canonicalReference": "@playkit-js/playkit-js!FontScaleOptions:type" + }, + { + "kind": "Content", + "text": ";\n fontFamily: string;\n fontColor: [number, number, number];\n fontOpacity: number;\n fontEdge: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<[number, number, number, number, number, number]>;\n backgroundColor: [number, number, number];\n backgroundOpacity: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/text-style.ts", + "releaseTag": "Public", + "name": "PKTextStyleObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 8 + } + }, + { + "kind": "Interface", + "canonicalReference": "@playkit-js/playkit-js!PKTextTrackCue:interface", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface PKTextTrackCue extends " + }, + { + "kind": "Reference", + "text": "TextTrackCue", + "canonicalReference": "!TextTrackCue:interface" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/types/text-track-cue.ts", + "releaseTag": "Public", + "name": "PKTextTrackCue", + "preserveMemberOrder": false, + "members": [ + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextTrackCue#type:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "type?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": true, + "releaseTag": "Public", + "name": "type", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "PropertySignature", + "canonicalReference": "@playkit-js/playkit-js!PKTextTrackCue#value:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "value: " + }, + { + "kind": "Content", + "text": "{\n key: string;\n data: string | any;\n }" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "value", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + } + ], + "extendsTokenRanges": [ + { + "startIndex": 1, + "endIndex": 2 + } + ] + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKTextTrackDisplaySettingObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKTextTrackDisplaySettingObject = " + }, + { + "kind": "Content", + "text": "{\n line: string | number;\n lineAlign: string;\n align: string;\n position: number;\n positionAlign: string;\n snapToLines: boolean;\n vertical: string;\n size: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/text-track-display-setting.ts", + "releaseTag": "Public", + "name": "PKTextTrackDisplaySettingObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKThumbnailVttCue:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKThumbnailVttCue = " + }, + { + "kind": "Content", + "text": "{\n startTime: number;\n endTime: number;\n imgUrl: string;\n coordinates: {\n x: number;\n y: number;\n } | null;\n size: {\n height: number;\n width: number;\n } | null;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/thumbnail-vtt-cue.ts", + "releaseTag": "Public", + "name": "PKThumbnailVttCue", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKTrackTypes:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKTrackTypes = " + }, + { + "kind": "Content", + "text": "{\n [track: string]: string;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/track-types.ts", + "releaseTag": "Public", + "name": "PKTrackTypes", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKVideoDimensionsObject:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKVideoDimensionsObject = " + }, + { + "kind": "Content", + "text": "{\n videoHeight: number;\n videoWidth: number;\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/video-dimensions.ts", + "releaseTag": "Public", + "name": "PKVideoDimensionsObject", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PKVideoElementStore:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PKVideoElementStore = " + }, + { + "kind": "Content", + "text": "{\n [id: string]: " + }, + { + "kind": "Reference", + "text": "HTMLVideoElement", + "canonicalReference": "!HTMLVideoElement:interface" + }, + { + "kind": "Content", + "text": ";\n} | {}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/video-element-store.ts", + "releaseTag": "Public", + "name": "PKVideoElementStore", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!Player:class", + "docComment": "/**\n * The HTML5 player class. @classdesc\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export default class Player extends " + }, + { + "kind": "Reference", + "text": "FakeEventTarget", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget:class" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/player.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "Player", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player._defaultConfig:member", + "docComment": "/**\n * @returns {Object} - The default configuration of the player. @private @static\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static get _defaultConfig(): " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "_defaultConfig", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#_getTextTracks:member(1)", + "docComment": "/**\n * Returns the text tracks. @function _getTextTracks\n *\n * @returns {Array} - The text tracks. @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "_getTextTracks(): " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "PKTextTrack", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2:class" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "_getTextTracks" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player._logger:member", + "docComment": "/**\n * The player class logger. @type {any} @static @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static _logger: " + }, + { + "kind": "Reference", + "text": "ILogger", + "canonicalReference": "js-logger!ILogger:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "_logger", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#_onTracksChanged:member(1)", + "docComment": "/**\n * handle tracks change\n *\n * @param event - the tracks change event payload @private\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "_onTracksChanged(event: " + }, + { + "kind": "Reference", + "text": "FakeEvent", + "canonicalReference": "@playkit-js/playkit-js!FakeEvent:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "event", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "_onTracksChanged" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#_updateTracks:member(1)", + "docComment": "/**\n * update the player tracks\n *\n * @param tracks - the player tracks @private\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "_updateTracks(tracks: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 6, + "endIndex": 7 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "tracks", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "_updateTracks" + }, + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!Player:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `Player` class\n *\n * @param config - The configuration for the player instance. @constructor\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(config?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "config", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#AbrMode:member", + "docComment": "/**\n * Gets the player abr modes.\n *\n * @returns {PKAbrModes} - The abr modes of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get AbrMode(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "AbrMode", + "canonicalReference": "@playkit-js/playkit-js!AbrMode:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "AbrMode", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#AdBreakType:member", + "docComment": "/**\n * Gets the ad break types.\n *\n * @returns {PKAdBreakTypes} - The ad break types of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get AdBreakType(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "AdBreakType", + "canonicalReference": "@playkit-js/playkit-js!AdBreakType:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "AdBreakType", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#addTextTrack:member(1)", + "docComment": "/**\n * Add text track @function addTextTrack\n *\n * @param kind - Specifies the kind of text track.\n *\n * @param label - A string specifying the label for the text track.\n *\n * @param language - A two-letter language code that specifies the language of the text track.\n *\n * @returns {?TextTrack} - A TextTrack Object, which represents the new text track.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "addTextTrack(kind: " + }, + { + "kind": "Reference", + "text": "TextTrackKind", + "canonicalReference": "!TextTrackKind:type" + }, + { + "kind": "Content", + "text": ", label?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", language?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "TextTrack", + "canonicalReference": "!TextTrack:interface" + }, + { + "kind": "Content", + "text": " | undefined" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 7, + "endIndex": 9 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "kind", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "label", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": true + }, + { + "parameterName": "language", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "addTextTrack" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#AdTagType:member", + "docComment": "/**\n * Gets the ad break tag types.\n *\n * @returns {PKAdTagTypes} - The ad tag types of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get AdTagType(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "AdTagType", + "canonicalReference": "@playkit-js/playkit-js!AdTagType:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "AdTagType", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#attachMediaSource:member(1)", + "docComment": "/**\n * Attach the engine's media source\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "attachMediaSource(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "attachMediaSource" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#buffered:member", + "docComment": "/**\n * Get the first buffered range of the engine.\n *\n * @returns {TimeRanges} - First buffered range of the engine in seconds.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get buffered(): " + }, + { + "kind": "Reference", + "text": "TimeRanges", + "canonicalReference": "!TimeRanges:interface" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "buffered", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#config:member", + "docComment": "/**\n * Get the player config.\n *\n * @returns {Object} - A copy of the player configuration.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get config(): " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "config", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#configure:member(1)", + "docComment": "/**\n * Configures the player according to a given configuration.\n *\n * @param config - The configuration for the player instance.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "configure(config?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "config", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "configure" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#CorsType:member", + "docComment": "/**\n * Gets the player cors types.\n *\n * @returns {PKCorsTypes} - The player cors types.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get CorsType(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "CorsType", + "canonicalReference": "@playkit-js/playkit-js!CorsType:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "CorsType", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#crossOrigin:member", + "docComment": "/**\n * Get crossOrigin attribute.\n *\n * @returns {?string} - 'anonymous' or 'use-credentials'\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set crossOrigin(crossOrigin: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "crossOrigin", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#currentTime:member", + "docComment": "/**\n * Get the current time in seconds.\n *\n * @returns {?Number} - The playback current time.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set currentTime(to: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "currentTime", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#defaultPlaybackRate:member", + "docComment": "/**\n * Gets the default playback speed of the video.\n *\n * @returns {number} - The default playback speed of the video.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get defaultPlaybackRate(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "defaultPlaybackRate", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#destroy:member(1)", + "docComment": "/**\n * Destroys the player.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "destroy(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "destroy" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#detachMediaSource:member(1)", + "docComment": "/**\n * detach the engine's media source\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "detachMediaSource(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "detachMediaSource" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#dimensions:member", + "docComment": "/**\n * Get the dimensions of the player.\n *\n * @returns {PKPlayerDimensions} - The dimensions of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set dimensions(dimensions: " + }, + { + "kind": "Reference", + "text": "PKDimensionsConfig", + "canonicalReference": "@playkit-js/playkit-js!PKDimensionsConfig:type" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "dimensions", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#duration:member", + "docComment": "/**\n * Get the duration in seconds.\n *\n * @returns {?Number} - The playback duration.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get duration(): " + }, + { + "kind": "Content", + "text": "number | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "duration", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#enableAdaptiveBitrate:member(1)", + "docComment": "/**\n * Enables adaptive bitrate switching. @function enableAdaptiveBitrate\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "enableAdaptiveBitrate(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "enableAdaptiveBitrate" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#ended:member", + "docComment": "/**\n * Get ended attribute state.\n *\n * @returns {?boolean} - Whether the media has been ended.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get ended(): " + }, + { + "kind": "Content", + "text": "boolean | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "ended", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#engineType:member", + "docComment": "/**\n * get the engine type\n *\n * @returns {string} - html5\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get engineType(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "engineType", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#EngineType:member", + "docComment": "/**\n * Gets the player engine types.\n *\n * @returns {PKEngineTypes} - The engine types of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get EngineType(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "EngineType", + "canonicalReference": "@playkit-js/playkit-js!EngineType:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "EngineType", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#enterFullscreen:member(1)", + "docComment": "/**\n * Request the player to enter fullscreen.\n *\n * @param elementId - element id to full screen\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "enterFullscreen(elementId?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "elementId", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "enterFullscreen" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#enterPictureInPicture:member(1)", + "docComment": "/**\n * Request the player to enter picture in picture mode\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "enterPictureInPicture(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "enterPictureInPicture" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#env:member", + "docComment": "/**\n * Getter for the environment of the player instance. @return {Object} - The current environment object.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get env(): " + }, + { + "kind": "Reference", + "text": "IEnv", + "canonicalReference": "@playkit-js/playkit-js!~IEnv:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "env", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#Error:member", + "docComment": "/**\n * Gets the player static error class.\n *\n * @returns {PKError} - The player static error class.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get Error(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "PKError", + "canonicalReference": "@playkit-js/playkit-js!Error_2:class" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "Error", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#Event:member", + "docComment": "/**\n * Gets the player event types.\n *\n * @returns {PKEventTypes} - The event types of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get Event(): " + }, + { + "kind": "Reference", + "text": "PKEventTypes", + "canonicalReference": "@playkit-js/playkit-js!PKEventTypes:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "Event", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#exitFullscreen:member(1)", + "docComment": "/**\n * Request the player to exit fullscreen.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "exitFullscreen(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "exitFullscreen" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#exitPictureInPicture:member(1)", + "docComment": "/**\n * Request the player to exit picture in picture mode\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "exitPictureInPicture(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "exitPictureInPicture" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#getActiveTracks:member(1)", + "docComment": "/**\n * Get an object includes the active video/audio/text tracks @return {{video: VideoTrack, audio: AudioTrack, text: TextTrack}} - The active tracks object\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "getActiveTracks(): " + }, + { + "kind": "Content", + "text": "{\n video: " + }, + { + "kind": "Reference", + "text": "VideoTrack", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:class" + }, + { + "kind": "Content", + "text": ";\n audio: " + }, + { + "kind": "Reference", + "text": "AudioTrack", + "canonicalReference": "@playkit-js/playkit-js!AudioTrack:class" + }, + { + "kind": "Content", + "text": ";\n text: " + }, + { + "kind": "Reference", + "text": "PKTextTrack", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2:class" + }, + { + "kind": "Content", + "text": ";\n }" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 8 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getActiveTracks" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player.getCapabilities:member(1)", + "docComment": "/**\n * Gets the engines capabilities.\n *\n * @param engineType - The engine type. @return {Promise} - The engines capabilities object.\n *\n * @static\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static getCapabilities(engineType?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "<{\n [name: string]: any;\n }>" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "engineType", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "getCapabilities" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#getDrmInfo:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getDrmInfo(): " + }, + { + "kind": "Reference", + "text": "PKDrmDataObject", + "canonicalReference": "@playkit-js/playkit-js!PKDrmDataObject:type" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getDrmInfo" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#getLogLevel:member(1)", + "docComment": "/**\n * get the log level\n *\n * @param name - the logger name\n *\n * @returns {Object} - the log level\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "getLogLevel(name?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "name", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "getLogLevel" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#getNativeTextTracks:member(1)", + "docComment": "/**\n * get the native text tracks @function getNativeTextTracks\n *\n * @returns {Array} - The native TextTracks array.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "getNativeTextTracks(): " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "TextTrack", + "canonicalReference": "!TextTrack:interface" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getNativeTextTracks" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#getStartTimeOfDvrWindow:member(1)", + "docComment": "/**\n * Get the start time of DVR window in live playback in seconds.\n *\n * @returns {Number} - start time of DVR window.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "getStartTimeOfDvrWindow(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getStartTimeOfDvrWindow" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#getThumbnail:member(1)", + "docComment": "/**\n * Returns in-stream thumbnail for a chosen time.\n *\n * @param time - playback time.\n *\n * @return {?ThumbnailInfo} - Thumbnail info\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "getThumbnail(time: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "ThumbnailInfo", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo:class" + }, + { + "kind": "Content", + "text": " | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "time", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "getThumbnail" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#getTracks:member(1)", + "docComment": "/**\n * Returns the tracks according to the filter. if no filter given returns the all tracks. @function getTracks @template {Track | AudioTrack | TextTrack | VideoTrack} T\n *\n * @param type - a tracks filter, should be 'video', 'audio' or 'text'.\n *\n * @returns {Array} - The parsed tracks.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "getTracks(type?: " + }, + { + "kind": "Reference", + "text": "TrackTypes", + "canonicalReference": "@playkit-js/playkit-js!TrackTypes:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "T[]" + }, + { + "kind": "Content", + "text": ";" + } + ], + "typeParameters": [ + { + "typeParameterName": "T", + "constraintTokenRange": { + "startIndex": 1, + "endIndex": 10 + }, + "defaultTypeTokenRange": { + "startIndex": 0, + "endIndex": 0 + } + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 13, + "endIndex": 14 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "type", + "parameterTypeTokenRange": { + "startIndex": 11, + "endIndex": 12 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "getTracks" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#getVideoElement:member(1)", + "docComment": "/**\n * @returns {HTMLVideoElement} - The video element.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "getVideoElement(): " + }, + { + "kind": "Reference", + "text": "HTMLVideoElement", + "canonicalReference": "!HTMLVideoElement:interface" + }, + { + "kind": "Content", + "text": " | undefined" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getVideoElement" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#getView:member(1)", + "docComment": "/**\n * Gets the view of the player (i.e the dom container object). @return {HTMLElement} - The dom container.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "getView(): " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getView" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#hasUserInteracted:member", + "docComment": "/**\n * Get whether the user already interacted with the player\n *\n * @returns {boolean} - Whether the user interacted with the player\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get hasUserInteracted(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "hasUserInteracted", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#hideBlackCover:member(1)", + "docComment": "/**\n * Hides the black cover div.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "hideBlackCover(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "hideBlackCover" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#hideTextTrack:member(1)", + "docComment": "/**\n * Hide the text track @function hideTextTrack\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "hideTextTrack(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "hideTextTrack" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#isAdaptiveBitrateEnabled:member(1)", + "docComment": "/**\n * Checking if adaptive bitrate switching is enabled. @function isAdaptiveBitrateEnabled\n *\n * @returns {boolean} - Whether adaptive bitrate is enabled.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isAdaptiveBitrateEnabled(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isAdaptiveBitrateEnabled" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#isAudio:member(1)", + "docComment": "/**\n * Checking if the current playback is audio only. @function isAudio\n *\n * @returns {boolean} - Whether playback is audio. @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isAudio(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isAudio" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#isDvr:member(1)", + "docComment": "/**\n * Checking if the current live playback has DVR window. @function isDvr\n *\n * @returns {boolean} - Whether live playback has DVR window.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isDvr(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isDvr" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#isFullscreen:member(1)", + "docComment": "/**\n * @returns {boolean} - Whether the player is in fullscreen mode.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isFullscreen(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isFullscreen" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#isInPictureInPicture:member(1)", + "docComment": "/**\n * Check if the player is in picture in picture mode\n *\n * @return {boolean} if the player is in picture in picture mode or not\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isInPictureInPicture(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isInPictureInPicture" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#isLive:member(1)", + "docComment": "/**\n * Checking if the current playback is live. @function isLive\n *\n * @returns {boolean} - Whether playback is live.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isLive(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isLive" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#isOnLiveEdge:member(1)", + "docComment": "/**\n * Get whether the video is seeked to live edge in dvr\n *\n * @returns {boolean} - Whether the video is seeked to live edge in dvr\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isOnLiveEdge(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isOnLiveEdge" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#isPictureInPictureSupported:member(1)", + "docComment": "/**\n * Check if picture in picture supported in this environment\n *\n * @return {boolean} if the picture in picture feature is supported in this environment\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isPictureInPictureSupported(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isPictureInPictureSupported" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#isVr:member(1)", + "docComment": "/**\n * Checking if the selected source is VR.\n *\n * @returns {boolean} - Whether is VR.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isVr(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "isVr" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#liveDuration:member", + "docComment": "/**\n * Get the live duration in seconds.\n *\n * @returns {?Number} - The live duration.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get liveDuration(): " + }, + { + "kind": "Content", + "text": "number | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "liveDuration", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#load:member(1)", + "docComment": "/**\n * Load media\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "load(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "load" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#loadingMedia:member", + "docComment": "/**\n * Set the _loadingMedia flag to inform the player that a load media request has sent.\n *\n * @param loading - Whether a load media request has sent.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set loadingMedia(loading: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "loadingMedia", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#LogLevel:member", + "docComment": "/**\n * Gets the player log level objects.\n *\n * @returns {PKLogLevels} - The log levels objects of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get LogLevel(): " + }, + { + "kind": "Reference", + "text": "LoggerLevels", + "canonicalReference": "@playkit-js/playkit-js!LoggerLevels:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "LogLevel", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#LogLevelType:member", + "docComment": "/**\n * Gets the player log level types.\n *\n * @returns {PKLogLevelTypes} - The log level types of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get LogLevelType(): " + }, + { + "kind": "Reference", + "text": "Record", + "canonicalReference": "!Record:type" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "LogLevelType", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 7 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#MediaType:member", + "docComment": "/**\n * Gets the player media types.\n *\n * @returns {PKMediaTypes} - The media types of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get MediaType(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "MediaType", + "canonicalReference": "@playkit-js/playkit-js!MediaType:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "MediaType", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#muted:member", + "docComment": "/**\n * Get player muted state.\n *\n * @returns {?boolean} - Whether the video is muted or not.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set muted(mute: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "muted", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#notifyEnterFullscreen:member(1)", + "docComment": "/**\n * Notify the player that the ui application entered to fullscreen.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "notifyEnterFullscreen(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "notifyEnterFullscreen" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#notifyExitFullscreen:member(1)", + "docComment": "/**\n * Notify the player that the ui application exited from fullscreen.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "notifyExitFullscreen(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "notifyExitFullscreen" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#pause:member(1)", + "docComment": "/**\n * Pause playback.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "pause(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "pause" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#paused:member", + "docComment": "/**\n * Get paused state.\n *\n * @returns {?boolean} - Whether the video is paused or not.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get paused(): " + }, + { + "kind": "Content", + "text": "boolean | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "paused", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#play:member(1)", + "docComment": "/**\n * Start/resume playback.\n *\n * @param playOptions - additional options to control the play.\n *\n * @param - {boolean} playOptions.programmatic - if true, the play call was not initiated by a user gesture and should be handled like auto play.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "play(playOptions?: " + }, + { + "kind": "Reference", + "text": "PKPlayOptionsObject", + "canonicalReference": "@playkit-js/playkit-js!PKPlayOptionsObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "playOptions", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "play" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#playbackMiddleware:member", + "docComment": "/**\n * Get the playback middleware.\n *\n * @returns {PlaybackMiddleware} - The playback middleware.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get playbackMiddleware(): " + }, + { + "kind": "Reference", + "text": "PlaybackMiddleware", + "canonicalReference": "@playkit-js/playkit-js!~PlaybackMiddleware:class" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "playbackMiddleware", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#playbackRate:member", + "docComment": "/**\n * Gets the current playback speed of the video.\n *\n * @returns {number} - The current playback speed of the video.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set playbackRate(rate: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "playbackRate", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#playbackRates:member", + "docComment": "/**\n * Gets the possible playback speeds of the video.\n *\n * @returns {Array} - The possible playback speeds speed of the video.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get playbackRates(): " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "playbackRates", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#playsinline:member", + "docComment": "/**\n * Get playsinline attribute. Relevant for iOS 10 and up: Elements will now be allowed to play inline, and will not automatically enter fullscreen mode when playback begins.\n *\n * @returns {boolean} - Whether the video plays in line.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set playsinline(playsinline: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "playsinline", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#poster:member", + "docComment": "/**\n * Get the poster source URL\n *\n * @returns {string} - the poster image URL\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get poster(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "poster", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#posterManager:member", + "docComment": "/**\n * Get the poster manager.\n *\n * @returns {PlaybackMiddleware} - The poster manager.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get posterManager(): " + }, + { + "kind": "Reference", + "text": "PosterManager", + "canonicalReference": "@playkit-js/playkit-js!~PosterManager:class" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "posterManager", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#ready:member(1)", + "docComment": "/**\n * The player readiness\n *\n * @returns {Promise<*>} - The ready promise\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "ready(): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "ready" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#registerEngineDecoratorProvider:member(1)", + "docComment": "/**\n * detach the engine's media source\n *\n * @param engineDecoratorProvider - function to create the decorator\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "registerEngineDecoratorProvider(engineDecoratorProvider: " + }, + { + "kind": "Reference", + "text": "IEngineDecoratorProvider", + "canonicalReference": "@playkit-js/playkit-js!IEngineDecoratorProvider:interface" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "engineDecoratorProvider", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "registerEngineDecoratorProvider" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#reset:member(1)", + "docComment": "/**\n * Resets the necessary components before change media.\n *\n * @param isChangeMedia - Whether or not this reset triggered due to change media\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "reset(isChangeMedia?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "isChangeMedia", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "reset" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player.runCapabilities:member(1)", + "docComment": "/**\n * Runs the engines capabilities tests.\n *\n * @returns {void}\n *\n * @static\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static runCapabilities(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "runCapabilities" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#seeking:member", + "docComment": "/**\n * Get seeking state.\n *\n * @returns {?boolean} - Whether the video is seeking or not.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get seeking(): " + }, + { + "kind": "Content", + "text": "boolean | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "seeking", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#seekToLiveEdge:member(1)", + "docComment": "/**\n * Seeking to live edge. @function seekToLiveEdge\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "seekToLiveEdge(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "seekToLiveEdge" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#selectTrack:member(1)", + "docComment": "/**\n * Select a track @function selectTrack\n *\n * @param track - the track to select\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "selectTrack(track?: " + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "track", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "selectTrack" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player.setCapabilities:member(1)", + "docComment": "/**\n * Sets an engine capabilities.\n *\n * @param engineType - The engine type.\n *\n * @param capabilities - The engine capabilities.\n *\n * @returns {void}\n *\n * @static\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static setCapabilities(engineType: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", capabilities: " + }, + { + "kind": "Content", + "text": "{\n [name: string]: any;\n }" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "engineType", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "capabilities", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "setCapabilities" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#setLogLevel:member(1)", + "docComment": "/**\n * sets the logger level\n *\n * @param level - the log level\n *\n * @param name - the logger name\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "setLogLevel(level: " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ", name?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "level", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "name", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "setLogLevel" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#setSources:member(1)", + "docComment": "/**\n * Configures the player according to a given configuration.\n *\n * @param sources - The sources for the player instance.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "setSources(sources: " + }, + { + "kind": "Reference", + "text": "PKSourcesConfigObject", + "canonicalReference": "@playkit-js/playkit-js!PKSourcesConfigObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "sources", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "setSources" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#setSourcesMetadata:member(1)", + "docComment": "/**\n * Configures the player metadata according to a given configuration.\n *\n * @param sourcesMetadata - The sources metadata for the player instance.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "setSourcesMetadata(sourcesMetadata: " + }, + { + "kind": "Reference", + "text": "PKMetadataConfigObject", + "canonicalReference": "@playkit-js/playkit-js!PKMetadataConfigObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "sourcesMetadata", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "setSourcesMetadata" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#setTextDisplaySettings:member(1)", + "docComment": "/**\n * update the text display settings\n *\n * @param settings - text cue display settings\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "setTextDisplaySettings(settings: " + }, + { + "kind": "Reference", + "text": "PKTextTrackDisplaySettingObject", + "canonicalReference": "@playkit-js/playkit-js!PKTextTrackDisplaySettingObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "settings", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "setTextDisplaySettings" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#showBlackCover:member(1)", + "docComment": "/**\n * Shows the black cover div.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "showBlackCover(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "showBlackCover" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Player#showTextTrack:member(1)", + "docComment": "/**\n * Show the text track.\n *\n * @returns {void}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "showTextTrack(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "showTextTrack" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#sources:member", + "docComment": "/**\n * Get the current player sources object.\n *\n * @returns {Object} - A copy of the player configuration.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get sources(): " + }, + { + "kind": "Reference", + "text": "PKSourcesConfigObject", + "canonicalReference": "@playkit-js/playkit-js!PKSourcesConfigObject:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "sources", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#src:member", + "docComment": "/**\n * Get the player source.\n *\n * @returns {?string} - The current source of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get src(): " + }, + { + "kind": "Content", + "text": "string | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "src", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#State:member", + "docComment": "/**\n * Gets the player state types.\n *\n * @returns {PKStateTypes} - The state types of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get State(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "StateType", + "canonicalReference": "@playkit-js/playkit-js!StateType:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "State", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#stats:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get stats(): " + }, + { + "kind": "Reference", + "text": "PKStatsObject", + "canonicalReference": "@playkit-js/playkit-js!PKStatsObject:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "stats", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#streamType:member", + "docComment": "/**\n * get the stream type\n *\n * @returns {string} - hls|dash|progressive\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get streamType(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "streamType", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#StreamType:member", + "docComment": "/**\n * Gets the player stream types.\n *\n * @returns {PKStreamTypes} - The stream types of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get StreamType(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "StreamType", + "canonicalReference": "@playkit-js/playkit-js!StreamType:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "StreamType", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#textDisplaySetting:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get textDisplaySetting(): " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "textDisplaySetting", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#textStyle:member", + "docComment": "/**\n * Gets style attributes for text tracks.\n *\n * @returns {?TextStyle} - the current style attribute\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set textStyle(style: " + }, + { + "kind": "Reference", + "text": "TextStyle", + "canonicalReference": "@playkit-js/playkit-js!TextStyle:class" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "textStyle", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#TextStyle:member", + "docComment": "/**\n * Gets the player TextStyle.\n *\n * @returns {TextStyle} - The TextStyle class\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get TextStyle(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "TextStyle", + "canonicalReference": "@playkit-js/playkit-js!TextStyle:class" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "TextStyle", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#Track:member", + "docComment": "/**\n * Gets the player tracks types.\n *\n * @returns {TrackType} - The tracks types of the player.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get Track(): " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "TrackType", + "canonicalReference": "@playkit-js/playkit-js!TrackType:var" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "Track", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#videoHeight:member", + "docComment": "/**\n * Get video height.\n *\n * @returns {?number} - The intrinsic height of the video.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get videoHeight(): " + }, + { + "kind": "Content", + "text": "number | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "videoHeight", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#videoWidth:member", + "docComment": "/**\n * Get video width.\n *\n * @returns {?number} - The intrinsic width of the video.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get videoWidth(): " + }, + { + "kind": "Content", + "text": "number | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "videoWidth", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Player#volume:member", + "docComment": "/**\n * Get playback volume.\n *\n * @returns {?Number} - The playback volume.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set volume(vol: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "volume", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + } + ], + "extendsTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "implementsTokenRanges": [] + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!PlayerStreamTypes:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type PlayerStreamTypes = " + }, + { + "kind": "Content", + "text": "'dash' | 'hls' | 'progressive' | 'image'" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/stream-types.ts", + "releaseTag": "Public", + "name": "PlayerStreamTypes", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!registerEngine:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "registerEngine: " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "EngineProvider.register", + "canonicalReference": "@playkit-js/playkit-js!~EngineProvider.register:member" + } + ], + "fileUrlPath": "src/engines/engine-provider.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "registerEngine", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!registerMediaSourceAdapter:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "registerMediaSourceAdapter: " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "MediaSourceProvider.register", + "canonicalReference": "@playkit-js/playkit-js!~MediaSourceProvider.register:member" + } + ], + "fileUrlPath": "src/engines/html5/media-source/media-source-provider.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "registerMediaSourceAdapter", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!RequestType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "RequestType: " + }, + { + "kind": "Reference", + "text": "PKRequestType", + "canonicalReference": "@playkit-js/playkit-js!PKRequestType:type" + } + ], + "fileUrlPath": "src/enums/request-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "RequestType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!ScreenOrientationType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "ScreenOrientationType: " + }, + { + "kind": "Reference", + "text": "PKOrientationType", + "canonicalReference": "@playkit-js/playkit-js!PKOrientationType:type" + } + ], + "fileUrlPath": "src/enums/screen-orientation-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "ScreenOrientationType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!setCapabilities:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "setCapabilities: " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "Player.setCapabilities", + "canonicalReference": "@playkit-js/playkit-js!Player.setCapabilities:member" + } + ], + "fileUrlPath": "src/playkit.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "setCapabilities", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "Function", + "canonicalReference": "@playkit-js/playkit-js!setLogHandler:function(1)", + "docComment": "/**\n * sets the logger handler @private\n *\n * @param handler - the log level\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare function setLogHandler(handler: " + }, + { + "kind": "Reference", + "text": "ILogHandler", + "canonicalReference": "js-logger!ILogHandler:interface" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/utils/logger.ts", + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "handler", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "setLogHandler" + }, + { + "kind": "Function", + "canonicalReference": "@playkit-js/playkit-js!setLogLevel:function(1)", + "docComment": "/**\n * sets the logger level\n *\n * @param level - the log level\n *\n * @param name - the logger name\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare function setLogLevel(level: " + }, + { + "kind": "Reference", + "text": "ILogLevel", + "canonicalReference": "js-logger!ILogLevel:interface" + }, + { + "kind": "Content", + "text": ", name?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/utils/logger.ts", + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "level", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "name", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": true + } + ], + "name": "setLogLevel" + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!State:class", + "docComment": "/**\n * This class describes a player state. @classdesc\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export default class State " + } + ], + "fileUrlPath": "src/state/state.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "State", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!State:constructor(1)", + "docComment": "/**\n * @constructor Constructs a new instance of the `State` class\n *\n * @param type - The type of the state.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "type", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!State#duration:member", + "docComment": "/**\n * Getter for the duration of the state.\n *\n * @returns {number} - The duration of the state\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get duration(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";\n\nset duration(endTime: number);" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "duration", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!State#type:member", + "docComment": "/**\n * The type of the state. Can be one of those describes in states.js @member @type {string}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "type", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!StateChanged:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type StateChanged = " + }, + { + "kind": "Content", + "text": "{\n oldState: " + }, + { + "kind": "Reference", + "text": "MaybeState", + "canonicalReference": "@playkit-js/playkit-js!MaybeState:type" + }, + { + "kind": "Content", + "text": ";\n newState: " + }, + { + "kind": "Reference", + "text": "MaybeState", + "canonicalReference": "@playkit-js/playkit-js!MaybeState:type" + }, + { + "kind": "Content", + "text": ";\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/player-state.ts", + "releaseTag": "Public", + "name": "StateChanged", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 6 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!StateType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "StateType: " + }, + { + "kind": "Content", + "text": "{\n readonly IDLE: \"idle\";\n readonly LOADING: \"loading\";\n readonly PLAYING: \"playing\";\n readonly PAUSED: \"paused\";\n readonly BUFFERING: \"buffering\";\n}" + } + ], + "fileUrlPath": "src/state/state-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "StateType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!StreamType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "StreamType: " + }, + { + "kind": "Content", + "text": "{\n readonly DASH: \"dash\";\n readonly HLS: \"hls\";\n readonly PROGRESSIVE: \"progressive\";\n readonly IMAGE: \"image\";\n}" + } + ], + "fileUrlPath": "src/engines/stream-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "StreamType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!TextStyle:class", + "docComment": "/**\n * Creates a TextStyle object.\n *\n *

Note that although this API is based on FCC guidelines, we cannot guarantee that your application is in compliance with this or any other guideline.

\n *\n * @constructor @struct @export\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare class TextStyle " + } + ], + "fileUrlPath": "src/track/text-style.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "TextStyle", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#backgroundColor:member", + "docComment": "/**\n * @type {TextStyle.StandardColors}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "backgroundColor: " + }, + { + "kind": "Content", + "text": "[number, number, number]" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "backgroundColor", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#backgroundOpacity:member", + "docComment": "/**\n * @type {TextStyle.StandardOpacities}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "backgroundOpacity: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "backgroundOpacity", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#clone:member(1)", + "docComment": "/**\n * clones the textStyle object\n *\n * @returns {TextStyle} the cloned textStyle object\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "clone(): " + }, + { + "kind": "Reference", + "text": "TextStyle", + "canonicalReference": "@playkit-js/playkit-js!TextStyle:class" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "clone" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle.EdgeStyles:member", + "docComment": "/**\n * Defined in {@link https://goo.gl/ZcqOOM FCC 12-9}, paragraph 111. The styles to achieve these effects are not specified anywhere.\n *\n * Each inner array represents a shadow, and is composed of RGB values for the shadow color, followed by pixel values for x-offset, y-offset, and blur.\n *\n * @enum {!Array.} @export\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static EdgeStyles: " + }, + { + "kind": "Content", + "text": "{\n [edgeStyle: string]: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<[number, number, number, number, number, number]>;\n }" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "EdgeStyles", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 4 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#fontColor:member", + "docComment": "/**\n * @type {TextStyle.StandardColors}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "fontColor: " + }, + { + "kind": "Content", + "text": "[number, number, number]" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "fontColor", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#fontEdge:member", + "docComment": "/**\n * @type {TextStyle.EdgeStyles} @expose\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "fontEdge: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "<[number, number, number, number, number, number]>" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "fontEdge", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#fontFamily:member", + "docComment": "/**\n * @type {TextStyle.FontFamily}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "fontFamily: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "fontFamily", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle.FontFamily:member", + "docComment": "/**\n * Defined set of font families @enum {Object.}} @export\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static FontFamily: " + }, + { + "kind": "Content", + "text": "{\n [font: string]: string;\n }" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "FontFamily", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#fontOpacity:member", + "docComment": "/**\n * @type {TextStyle.StandardOpacities} @expose\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "fontOpacity: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "fontOpacity", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#fontScale:member", + "docComment": "/**\n * Numeric value matching a FontSizes entry (for backward compatibility)\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set fontScale(fontScale: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "fontScale", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#fontSize:member", + "docComment": "/**\n * Percentage string matching a FontSizes entry\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set fontSize(fontSize: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "fontSize", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle.FontSizes:member", + "docComment": "/**\n * Possible font sizes are 50%, 75%, 100%, 200%, 300%, 400%\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static FontSizes: " + }, + { + "kind": "Content", + "text": "{\n label: " + }, + { + "kind": "Reference", + "text": "FontSizeOptions", + "canonicalReference": "@playkit-js/playkit-js!FontSizeOptions:type" + }, + { + "kind": "Content", + "text": ";\n value: " + }, + { + "kind": "Reference", + "text": "FontScaleOptions", + "canonicalReference": "@playkit-js/playkit-js!FontScaleOptions:type" + }, + { + "kind": "Content", + "text": ";\n }[]" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "FontSizes", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 6 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextStyle.fromJson:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static fromJson(setting: " + }, + { + "kind": "Reference", + "text": "PKTextStyleObject", + "canonicalReference": "@playkit-js/playkit-js!PKTextStyleObject:type" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "TextStyle", + "canonicalReference": "@playkit-js/playkit-js!TextStyle:class" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "setting", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "fromJson" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#getTextShadow:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "getTextShadow(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getTextShadow" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#implicitFontScale:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get implicitFontScale(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "implicitFontScale", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#isEqual:member(1)", + "docComment": "/**\n * comparing between 2 textStyle objects.\n *\n * @param textStyle - The textStyle to compare with.\n *\n * @returns {boolean} - Whether the text styles are equal.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "isEqual(textStyle: " + }, + { + "kind": "Reference", + "text": "TextStyle", + "canonicalReference": "@playkit-js/playkit-js!TextStyle:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "textStyle", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "isEqual" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle.StandardColors:member", + "docComment": "/**\n * Defined in {@link https://goo.gl/ZcqOOM FCC 12-9}, paragraph 111, footnote 448. Each value is an array of the three RGB values for that color. @enum {Object.}} @export\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static StandardColors: " + }, + { + "kind": "Content", + "text": "{\n [coloer: string]: [number, number, number];\n }" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "StandardColors", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextStyle.StandardOpacities:member", + "docComment": "/**\n * Defined in {@link https://goo.gl/ZcqOOM FCC 12-9}, paragraph 111. @enum {Object.}} @export\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static StandardOpacities: " + }, + { + "kind": "Content", + "text": "{\n [opacityLevel: string]: number;\n }" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "StandardOpacities", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextStyle#toCSS:member(1)", + "docComment": "/**\n * Compute the CSS text necessary to represent this TextStyle. Output does not contain any selectors.\n *\n * @return {string} - ::CUE CSS string\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "toCSS(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "toCSS" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextStyle.toJson:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static toJson(text: " + }, + { + "kind": "Reference", + "text": "TextStyle", + "canonicalReference": "@playkit-js/playkit-js!TextStyle:class" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "PKTextStyleObject", + "canonicalReference": "@playkit-js/playkit-js!PKTextStyleObject:type" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "text", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "toJson" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextStyle.toRGBA:member(1)", + "docComment": "/**\n * Creates a CSS RGBA sctring for a given color and opacity values\n *\n * @param color - color value in RGB\n *\n * @param opacity - opacity value @return {string} - CSS rgba string @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static toRGBA(color: " + }, + { + "kind": "Content", + "text": "[number, number, number]" + }, + { + "kind": "Content", + "text": ", opacity: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "color", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "opacity", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "toRGBA" + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2:class", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export default class TextTrack extends " + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/track/text-track.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "TextTrack_2", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2._generateIndex:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static _generateIndex(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "_generateIndex" + }, + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `TextTrack` class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(settings?: " + }, + { + "kind": "Reference", + "text": "TrackSettings", + "canonicalReference": "@playkit-js/playkit-js!~TrackSettings:type" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "settings", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2#default:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get default(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "default", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2.EXTERNAL_TRACK_ID:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static EXTERNAL_TRACK_ID: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "EXTERNAL_TRACK_ID", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2#external:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get external(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "external", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2.isExternalTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static isExternalTrack(track: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "track", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "isExternalTrack" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2.isMetaDataTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static isMetaDataTrack(track: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "track", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "isMetaDataTrack" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2.isNativeTextTrack:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static isNativeTextTrack(track: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "track", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "isNativeTextTrack" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2#kind:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get kind(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "kind", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2.KIND:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static KIND: " + }, + { + "kind": "Reference", + "text": "Record", + "canonicalReference": "!Record:type" + }, + { + "kind": "Content", + "text": "<'METADATA' | 'SUBTITLES' | 'CAPTIONS', " + }, + { + "kind": "Reference", + "text": "TextTrackKind", + "canonicalReference": "!TextTrackKind:type" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "KIND", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2#mode:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get mode(): " + }, + { + "kind": "Content", + "text": "string | undefined" + }, + { + "kind": "Content", + "text": ";\n\nset mode(mode: string);" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "mode", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2.MODE:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static MODE: " + }, + { + "kind": "Reference", + "text": "Record", + "canonicalReference": "!Record:type" + }, + { + "kind": "Content", + "text": "<'DISABLED' | 'SHOWING' | 'HIDDEN', " + }, + { + "kind": "Reference", + "text": "TextTrackMode", + "canonicalReference": "!TextTrackMode:type" + }, + { + "kind": "Content", + "text": ">" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "MODE", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 5 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!TextTrack_2.reset:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static reset(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "reset" + } + ], + "extendsTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "implementsTokenRanges": [] + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo:class", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare class ThumbnailInfo " + } + ], + "fileUrlPath": "src/thumbnail/thumbnail-info.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "ThumbnailInfo", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `ThumbnailInfo` class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(info: " + }, + { + "kind": "Content", + "text": "{\n url: string;\n width: number;\n height: number;\n x: number;\n y: number;\n }" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "info", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo#height:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get height(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "height", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo#url:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get url(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "url", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo#width:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get width(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "width", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo#x:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get x(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "x", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!ThumbnailInfo#y:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "get y(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "y", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata:class", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare class TimedMetadata " + } + ], + "fileUrlPath": "src/track/timed-metadata.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "TimedMetadata", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata:constructor(1)", + "docComment": "/**\n * @constructor Constructs a new instance of the `TimedMetadata` class\n *\n * @param startTime - start time.\n *\n * @param endTime - end time.\n *\n * @param id - id.\n *\n * @param type - type.\n *\n * @param metadata - metadata.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(startTime: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ", endTime: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ", id: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", metadata: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "startTime", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "endTime", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "id", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": false + }, + { + "parameterName": "type", + "parameterTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "isOptional": false + }, + { + "parameterName": "metadata", + "parameterTypeTokenRange": { + "startIndex": 9, + "endIndex": 10 + }, + "isOptional": false + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata#endTime:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "endTime: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "endTime", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata#id:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "id: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "id", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata#metadata:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "metadata: " + }, + { + "kind": "Content", + "text": "string | any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "metadata", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata#startTime:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "startTime: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "startTime", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata#type:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "type: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "type", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!TimedMetadata.TYPE:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static TYPE: " + }, + { + "kind": "Content", + "text": "{\n [type: string]: string;\n }" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "TYPE", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": false, + "isAbstract": false + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!Track:class", + "docComment": "/**\n * General track representation of the player. @classdesc\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export default class Track " + } + ], + "fileUrlPath": "src/track/track.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "Track", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Track#_index:member", + "docComment": "/**\n * The index of the track. @member @type {number} @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _index: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "_index", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": true, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Track#_label:member", + "docComment": "/**\n * The label of the track. @member @type {string} @private\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected _label: " + }, + { + "kind": "Content", + "text": "string | undefined" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "_label", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": true, + "isAbstract": false + }, + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!Track:constructor(1)", + "docComment": "/**\n * @constructor Constructs a new instance of the `Track` class\n *\n * @param settings - The track settings object.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(settings?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "settings", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Track#active:member", + "docComment": "/**\n * Getter for the active mode of the track.\n *\n * @returns {boolean} - The active mode of the track.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get active(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";\n\nset active(value: boolean);" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "active", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Track#available:member", + "docComment": "/**\n * Getter for the available indicator\n *\n * @returns {boolean} - The indicator if track available or not.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get available(): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";\n\nset available(isAvailable: boolean);" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "available", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Track.clone:member(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "static clone(track: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "T" + }, + { + "kind": "Content", + "text": ";" + } + ], + "typeParameters": [ + { + "typeParameterName": "T", + "constraintTokenRange": { + "startIndex": 0, + "endIndex": 0 + }, + "defaultTypeTokenRange": { + "startIndex": 0, + "endIndex": 0 + } + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "track", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "clone" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Track#clone:member", + "docComment": "/**\n * The clone function reference. @member @type {Function}\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "clone: " + }, + { + "kind": "Content", + "text": "(...args: any[]) => any" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "clone", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Track#id:member", + "docComment": "/**\n * Getter for the track id.\n *\n * @returns {?string} - The track id.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get id(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "id", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Track#index:member", + "docComment": "/**\n * Getter for the index of the track.\n *\n * @returns {number} - The index of the track.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get index(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";\n\nset index(value: number);" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "index", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Track#label:member", + "docComment": "/**\n * Getter for the label of the track.\n *\n * @returns {string} - The label of the track.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get label(): " + }, + { + "kind": "Content", + "text": "string | undefined" + }, + { + "kind": "Content", + "text": ";\n\nset label(value: string);" + } + ], + "isReadonly": false, + "isOptional": false, + "releaseTag": "Public", + "name": "label", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Track.langComparer:member(1)", + "docComment": "/**\n * Comparing language strings.\n *\n * @param inputLang - The configured language.\n *\n * @param trackLang - The default track language.\n *\n * @param additionalLanguage - Additional configured language.\n *\n * @param equal - Optional flag to check for matching languages.\n *\n * @returns {boolean} - Whether the strings are equal or starts with the same substring.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "static langComparer(inputLang: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", trackLang: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", additionalLanguage?: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ", equal?: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": true, + "returnTypeTokenRange": { + "startIndex": 9, + "endIndex": 10 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "inputLang", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "trackLang", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + }, + { + "parameterName": "additionalLanguage", + "parameterTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "isOptional": true + }, + { + "parameterName": "equal", + "parameterTypeTokenRange": { + "startIndex": 7, + "endIndex": 8 + }, + "isOptional": true + } + ], + "isOptional": false, + "isAbstract": false, + "name": "langComparer" + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!Track#language:member", + "docComment": "/**\n * Getter for the language of the track.\n *\n * @returns {string} - The language of the track.\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get language(): " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "language", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!TrackType:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "TrackType: " + }, + { + "kind": "Content", + "text": "{\n readonly VIDEO: \"video\";\n readonly AUDIO: \"audio\";\n readonly TEXT: \"text\";\n readonly IMAGE: \"image\";\n}" + } + ], + "fileUrlPath": "src/track/track-type.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "TrackType", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!TrackTypes:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type TrackTypes = " + }, + { + "kind": "Content", + "text": "'video' | 'audio' | 'text' | 'image'" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/track/track-type.ts", + "releaseTag": "Public", + "name": "TrackTypes", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "TypeAlias", + "canonicalReference": "@playkit-js/playkit-js!Transition:type", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "export type Transition = " + }, + { + "kind": "Content", + "text": "{\n [state: string]: {\n [event: string]: " + }, + { + "kind": "Reference", + "text": "Function", + "canonicalReference": "!Function:interface" + }, + { + "kind": "Content", + "text": ";\n };\n}" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/types/player-state.ts", + "releaseTag": "Public", + "name": "Transition", + "typeTokenRange": { + "startIndex": 1, + "endIndex": 4 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!unRegisterEngine:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "unRegisterEngine: " + }, + { + "kind": "Content", + "text": "typeof " + }, + { + "kind": "Reference", + "text": "EngineProvider.unRegister", + "canonicalReference": "@playkit-js/playkit-js!~EngineProvider.unRegister:member" + } + ], + "fileUrlPath": "src/engines/engine-provider.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "unRegisterEngine", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + } + }, + { + "kind": "Namespace", + "canonicalReference": "@playkit-js/playkit-js!Utils:namespace", + "docComment": "", + "excerptTokens": [], + "fileUrlPath": "src/playkit.ts", + "releaseTag": "None", + "name": "Utils", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Function", + "canonicalReference": "@playkit-js/playkit-js!Utils.binarySearch:function(1)", + "docComment": "/**\n * @param list - The array to search.\n *\n * @param comparisonFn - Called and provided a candidate item as the first argument. Should return: > -1 if the item should be located at a lower index than the provided item. > 1 if the item should be located at a higher index than the provided item. > 0 if the item is the item you're looking for.\n *\n * @return {any} The object if it is found or null otherwise.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export declare function binarySearch(list?: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ", comparisonFn?: " + }, + { + "kind": "Content", + "text": "((param: T) => number)" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "T | null" + }, + { + "kind": "Content", + "text": ";" + } + ], + "fileUrlPath": "src/utils/binary-search.ts", + "returnTypeTokenRange": { + "startIndex": 6, + "endIndex": 7 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "list", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "isOptional": true + }, + { + "parameterName": "comparisonFn", + "parameterTypeTokenRange": { + "startIndex": 4, + "endIndex": 5 + }, + "isOptional": true + } + ], + "typeParameters": [ + { + "typeParameterName": "T", + "constraintTokenRange": { + "startIndex": 0, + "endIndex": 0 + }, + "defaultTypeTokenRange": { + "startIndex": 0, + "endIndex": 0 + } + } + ], + "name": "binarySearch" + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!Utils.Dom:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "_Dom: " + }, + { + "kind": "Content", + "text": "{\n addClassName(element: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", className: string): void;\n removeClassName(element: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", className: string): void;\n hasClassName(element: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", className: string): boolean;\n setAttribute(element: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", name: string, value: string): void;\n removeAttribute(element: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", name: string): void;\n setStyle(element: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", name: string, value: string): void;\n appendChild(parent?: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", child?: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": "): void;\n removeChild(parent?: " + }, + { + "kind": "Reference", + "text": "Node", + "canonicalReference": "!Node:interface" + }, + { + "kind": "Content", + "text": " | null, child?: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": "): void;\n prependTo(child: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", parent: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": "): void;\n getElementById(id: string): any;\n getElementsByTagName(tagName: string): any;\n createElement(tagName: string): any;\n loadStyleSheetAsync(url: string): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": "<" + }, + { + "kind": "Reference", + "text": "HTMLLinkElement", + "canonicalReference": "!HTMLLinkElement:interface" + }, + { + "kind": "Content", + "text": ">;\n loadScriptAsync(url: string): " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": ";\n getElementBySelector(selector: string): any;\n insertBefore(parent: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", newChild: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": ", existingChild?: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": " | null): " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": " | null;\n}" + } + ], + "fileUrlPath": "src/utils/util.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "Dom", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 40 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!Utils.Generator:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "_Generator: " + }, + { + "kind": "Content", + "text": "{\n uniqueId: (length?: number) => string;\n guid: () => string;\n}" + } + ], + "fileUrlPath": "src/utils/util.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "Generator", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!Utils.Http:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "_Http: " + }, + { + "kind": "Content", + "text": "{\n protocol: string;\n execute: (url: string, params: any, method?: string, headers?: " + }, + { + "kind": "Reference", + "text": "Map", + "canonicalReference": "!Map:interface" + }, + { + "kind": "Content", + "text": ", timeout?: number, ontimeout?: ((...args: any[]) => any) | undefined) => " + }, + { + "kind": "Reference", + "text": "Promise", + "canonicalReference": "!Promise:interface" + }, + { + "kind": "Content", + "text": ";\n jsonp: typeof " + }, + { + "kind": "Reference", + "text": "jsonp", + "canonicalReference": "@playkit-js/playkit-js!~jsonp:function" + }, + { + "kind": "Content", + "text": ";\n convertHeadersToDictionary: (headerRow: string) => {\n [header: string]: string;\n };\n}" + } + ], + "fileUrlPath": "src/utils/util.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "Http", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 8 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap:class", + "docComment": "/**\n * A simple multimap template. @constructor @struct @template T\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare class MultiMap " + } + ], + "fileUrlPath": "src/utils/multi-map.ts", + "releaseTag": "Public", + "typeParameters": [ + { + "typeParameterName": "K", + "constraintTokenRange": { + "startIndex": 0, + "endIndex": 0 + }, + "defaultTypeTokenRange": { + "startIndex": 0, + "endIndex": 0 + } + }, + { + "typeParameterName": "T", + "constraintTokenRange": { + "startIndex": 0, + "endIndex": 0 + }, + "defaultTypeTokenRange": { + "startIndex": 0, + "endIndex": 0 + } + } + ], + "isAbstract": false, + "name": "MultiMap", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `MultiMap` class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor();" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [] + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap#clear:member(1)", + "docComment": "/**\n * Clear all keys and values from the multimap.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "clear(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "clear" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap#get:member(1)", + "docComment": "/**\n * Get a list of values by key.\n *\n * @param key - @return {Array.} or null if no such key exists.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get(key: " + }, + { + "kind": "Content", + "text": "K" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 5 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "key", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "get" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap#getAll:member(1)", + "docComment": "/**\n * Get a list of all values.\n *\n * @returns {!Array.} -\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "getAll(): " + }, + { + "kind": "Content", + "text": "T[]" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "getAll" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap#has:member(1)", + "docComment": "/**\n * Check for a key.\n *\n * @param key - @return {boolean} true if the key exists.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "has(key: " + }, + { + "kind": "Content", + "text": "K" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "key", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "has" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap#keys:member(1)", + "docComment": "/**\n * Get all keys from the multimap. @return {!Array.}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "keys(): " + }, + { + "kind": "Reference", + "text": "Iterator", + "canonicalReference": "!Iterator:interface" + }, + { + "kind": "Content", + "text": "" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 3 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "keys" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap#push:member(1)", + "docComment": "/**\n * Add a key, value pair to the map.\n *\n * @param key - \n *\n * @param value - \n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "push(key: " + }, + { + "kind": "Content", + "text": "K" + }, + { + "kind": "Content", + "text": ", value: " + }, + { + "kind": "Content", + "text": "T" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "key", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "value", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "push" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap#remove:member(1)", + "docComment": "/**\n * Remove a specific value, if it exists. If there are no more values to the key, the key is removed\n *\n * @param key - \n *\n * @param value - \n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "remove(key: " + }, + { + "kind": "Content", + "text": "K" + }, + { + "kind": "Content", + "text": ", value: " + }, + { + "kind": "Content", + "text": "T" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "key", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "value", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "remove" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.MultiMap#set:member(1)", + "docComment": "/**\n * Set an array of values for the key, overwriting any previous data.\n *\n * @param key - \n *\n * @param values - \n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set(key: " + }, + { + "kind": "Content", + "text": "K" + }, + { + "kind": "Content", + "text": ", values: " + }, + { + "kind": "Content", + "text": "T[]" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 5, + "endIndex": 6 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "key", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + }, + { + "parameterName": "values", + "parameterTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "set" + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!Utils.Number:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "_Number: " + }, + { + "kind": "Content", + "text": "{\n isNumber: (n: number) => boolean;\n isInt: (n: number) => boolean;\n isFloat: (n: number) => boolean;\n}" + } + ], + "fileUrlPath": "src/utils/util.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "Number", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!Utils.Object:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "_Object: " + }, + { + "kind": "Content", + "text": "{\n merge: (objects: " + }, + { + "kind": "Reference", + "text": "Array", + "canonicalReference": "!Array:interface" + }, + { + "kind": "Content", + "text": ") => any;\n isObject: (item: any) => boolean;\n isClassInstance: (item: any) => boolean;\n mergeDeep: (target: any, ...sources: any) => any;\n copyDeep: (data: any) => any;\n isEmptyObject: (obj: object) => boolean;\n getPropertyPath: (obj: object, propertyPath: string) => any;\n hasPropertyPath: (obj: object, propertyPath: string) => boolean;\n createPropertyPath: (obj: object, path: string, value?: any) => any;\n deletePropertyPath: (obj: object, path: string) => void;\n defer: () => " + }, + { + "kind": "Reference", + "text": "DeferredPromise", + "canonicalReference": "@playkit-js/playkit-js!DeferredPromise:type" + }, + { + "kind": "Content", + "text": ";\n bind: (thisObj: any, fn: (...args: any[]) => any) => (...args: any[]) => any;\n}" + } + ], + "fileUrlPath": "src/utils/util.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "Object", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 6 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!Utils.ResizeWatcher:class", + "docComment": "/**\n * A Factory class to create a resize observer for the player.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "declare class ResizeWatcher extends " + }, + { + "kind": "Reference", + "text": "FakeEventTarget", + "canonicalReference": "@playkit-js/playkit-js!FakeEventTarget:class" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/utils/resize-watcher.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "ResizeWatcher", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!Utils.ResizeWatcher:constructor(1)", + "docComment": "/**\n * Constructs a new instance of the `ResizeWatcher` class\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor();" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [] + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.ResizeWatcher#destroy:member(1)", + "docComment": "/**\n * Removes resize listeners.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "destroy(): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [], + "isOptional": false, + "isAbstract": false, + "name": "destroy" + }, + { + "kind": "Method", + "canonicalReference": "@playkit-js/playkit-js!Utils.ResizeWatcher#init:member(1)", + "docComment": "/**\n * Start listening to a resize of the element.\n *\n * @param el - the element to listen to.\n *\n * @returns {void}\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "init(el: " + }, + { + "kind": "Reference", + "text": "HTMLElement", + "canonicalReference": "!HTMLElement:interface" + }, + { + "kind": "Content", + "text": "): " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isStatic": false, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "el", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "isOptional": false, + "isAbstract": false, + "name": "init" + } + ], + "extendsTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "implementsTokenRanges": [] + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!Utils.String:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "_String: " + }, + { + "kind": "Content", + "text": "{\n capitlize: (string: string) => string;\n endsWith: (string: string, searchString: string) => boolean;\n}" + } + ], + "fileUrlPath": "src/utils/util.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "String", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!Utils.VERSION:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "_VERSION: " + }, + { + "kind": "Content", + "text": "{\n compare: (v1: string, v2: string, options?: any) => number;\n}" + } + ], + "fileUrlPath": "src/utils/util.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "VERSION", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + } + ] + }, + { + "kind": "Variable", + "canonicalReference": "@playkit-js/playkit-js!VERSION:var", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "VERSION: " + }, + { + "kind": "Content", + "text": "string" + } + ], + "fileUrlPath": "src/playkit.ts", + "isReadonly": true, + "releaseTag": "Public", + "name": "VERSION", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Class", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:class", + "docComment": "/**\n * Video track representation of the player. @classdesc\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export default class VideoTrack extends " + }, + { + "kind": "Reference", + "text": "Track", + "canonicalReference": "@playkit-js/playkit-js!Track:class" + }, + { + "kind": "Content", + "text": " " + } + ], + "fileUrlPath": "src/track/video-track.ts", + "releaseTag": "Public", + "isAbstract": false, + "name": "VideoTrack", + "preserveMemberOrder": false, + "members": [ + { + "kind": "Constructor", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack:constructor(1)", + "docComment": "/**\n * @constructor Constructs a new instance of the `VideoTrack` class\n *\n * @param settings - The track settings object\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "constructor(settings?: " + }, + { + "kind": "Content", + "text": "any" + }, + { + "kind": "Content", + "text": ");" + } + ], + "releaseTag": "Public", + "isProtected": false, + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "settings", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": true + } + ] + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack#bandwidth:member", + "docComment": "/**\n * @returns {number} - The bandwidth of the video track\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get bandwidth(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "bandwidth", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack#height:member", + "docComment": "/**\n * @returns {number} - The height of the video track\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get height(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "height", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + }, + { + "kind": "Property", + "canonicalReference": "@playkit-js/playkit-js!VideoTrack#width:member", + "docComment": "/**\n * @returns {number} - The width of the video track\n *\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "get width(): " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "width", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false, + "isAbstract": false + } + ], + "extendsTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "implementsTokenRanges": [] + } + ] + } + ] +} diff --git a/api-extractor/report-temp/playkit-js.api.md b/api-extractor/report-temp/playkit-js.api.md new file mode 100644 index 000000000..53263b5b9 --- /dev/null +++ b/api-extractor/report-temp/playkit-js.api.md @@ -0,0 +1,1656 @@ +## API Report File for "@playkit-js/playkit-js" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { ILogger } from 'js-logger'; +import { ILogHandler } from 'js-logger'; +import { ILogLevel } from 'js-logger'; + +// @public (undocumented) +export const AbrMode: { + readonly MANUAL: "manual"; + readonly AUTO: "auto"; +}; + +// @public (undocumented) +export const AdBreakType: { + readonly PRE: "preroll"; + readonly MID: "midroll"; + readonly POST: "postroll"; + readonly OVERLAY: "overlay"; +}; + +// @public (undocumented) +export const AdEventType: { + readonly AD_CAN_SKIP: "adcanskip"; + readonly AD_MANIFEST_LOADED: "admanifestloaded"; + readonly AD_LOADED: "adloaded"; + readonly AD_STARTED: "adstarted"; + readonly AD_RESUMED: "adresumed"; + readonly AD_PAUSED: "adpaused"; + readonly AD_CLICKED: "adclicked"; + readonly AD_SKIPPED: "adskipped"; + readonly AD_COMPLETED: "adcompleted"; + readonly AD_ERROR: "aderror"; + readonly ADS_COMPLETED: "adscompleted"; + readonly ALL_ADS_COMPLETED: "alladscompleted"; + readonly AD_BREAK_START: "adbreakstart"; + readonly AD_BREAK_END: "adbreakend"; + readonly AD_FIRST_QUARTILE: "adfirstquartile"; + readonly AD_MIDPOINT: "admidpoint"; + readonly AD_THIRD_QUARTILE: "adthirdquartile"; + readonly USER_CLOSED_AD: "userclosedad"; + readonly AD_VOLUME_CHANGED: "advolumechanged"; + readonly AD_MUTED: "admuted"; + readonly AD_PROGRESS: "adprogress"; + readonly AD_BUFFERING: "adbuffering"; + readonly AD_WATERFALLING: "adwaterfalling"; + readonly AD_WATERFALLING_FAILED: "adwaterfallingfailed"; + readonly AD_AUTOPLAY_FAILED: "adautoplayfailed"; +}; + +// @public (undocumented) +export const AdTagType: { + readonly VAST: "vast"; + readonly VMAP: "vmap"; +}; + +// @public +export class AudioTrack extends Track { +} + +// Warning: (ae-forgotten-export) The symbol "PKAutoPlayTypes" needs to be exported by the entry point playkit.d.ts +// +// @public (undocumented) +export const AutoPlayType: PKAutoPlayTypes; + +// @public (undocumented) +export class BaseMediaSourceAdapter extends FakeEventTarget implements IMediaSourceAdapter { + constructor(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config?: any); + // (undocumented) + applyABRRestriction(restrictions: PKABRRestrictionObject): void; + // (undocumented) + attachMediaSource(): void; + static canPlayType(mimeType: string, preferNative: boolean): boolean; + get capabilities(): PKMediaSourceCapabilities; + protected _capabilities: PKMediaSourceCapabilities; + protected _config: any; + destroy(): Promise; + // (undocumented) + detachMediaSource(): void; + disableNativeTextTracks(): void; + // (undocumented) + enableAdaptiveBitrate(): void; + protected _eventManager: EventManager; + // (undocumented) + getDrmInfo(): PKDrmDataObject | null; + // (undocumented) + protected _getLiveEdge(): number; + static getLogger: (name?: string) => ILogger; + // (undocumented) + getSegmentDuration(): number; + // (undocumented) + getStartTimeOfDvrWindow(): number; + // (undocumented) + getThumbnail(time: number): ThumbnailInfo | null; + handleMediaError(event?: MediaError): boolean; + // (undocumented) + hideTextTrack(): void; + static id: string; + // (undocumented) + isAdaptiveBitrateEnabled(): boolean; + // (undocumented) + isLive(): boolean; + static isMSESupported(): boolean; + // (undocumented) + isOnLiveEdge(): boolean; + static isSupported(): boolean; + // (undocumented) + get liveDuration(): number; + // (undocumented) + load(): Promise<{ + tracks: Track[]; + }>; + protected _loadPromise: Promise<{ + tracks: Array; + }> | undefined; + // (undocumented) + protected static _logger: ILogger; + protected _onTrackChanged(track: VideoTrack | AudioTrack | TextTrack_2 | ImageTrack): void; + // (undocumented) + seekToLiveEdge(): void; + // (undocumented) + selectAudioTrack(audioTrack: AudioTrack): void; + // (undocumented) + selectImageTrack(imageTrack: ImageTrack): void; + // (undocumented) + selectTextTrack(textTrack: TextTrack_2): void; + // (undocumented) + selectVideoTrack(videoTrack: VideoTrack): void; + // (undocumented) + setMaxBitrate(bitrate: number): void; + protected _sourceObj?: PKMediaSourceObject; + get src(): string; + set src(source: string); + // (undocumented) + get targetBuffer(): number; + protected _trigger(name: string, payload?: any): void; + protected _videoElement: HTMLVideoElement; +} + +// @public +export class BaseMiddleware { + callNext(next: (...args: any[]) => any): void; + id: string; +} + +// @public (undocumented) +function binarySearch(list?: Array, comparisonFn?: ((param: T) => number)): T | null; + +// @public (undocumented) +export type CapabilityResult = { + [capabilityName: string]: any; +}; + +// @public (undocumented) +export const CorsType: { + readonly ANONYMOUS: "anonymous"; + readonly USE_CREDENTIALS: "use-credentials"; +}; + +// @public +export function createTextTrackCue(timedMetadata: TimedMetadata): PKTextTrackCue | null; + +// @public +export function createTimedMetadata(cue: TextTrackCue): TimedMetadata | null; + +// @public (undocumented) +export const CustomEventType: { + readonly MEDIA_LOADED: "medialoaded"; + readonly PLAYER_RESET: "playerreset"; + readonly PLAYER_DESTROY: "playerdestroy"; + readonly ENTER_FULLSCREEN: "enterfullscreen"; + readonly EXIT_FULLSCREEN: "exitfullscreen"; + readonly PLAY_FAILED: "playfailed"; + readonly AUTOPLAY_FAILED: "autoplayfailed"; + readonly FALLBACK_TO_MUTED_AUTOPLAY: "fallbacktomutedautoplay"; + readonly CHANGE_SOURCE_STARTED: "changesourcestarted"; + readonly CHANGE_SOURCE_ENDED: "changesourceended"; + readonly MUTE_CHANGE: "mutechange"; + readonly VIDEO_TRACK_CHANGED: "videotrackchanged"; + readonly AUDIO_TRACK_CHANGED: "audiotrackchanged"; + readonly TEXT_TRACK_CHANGED: "texttrackchanged"; + readonly IMAGE_TRACK_CHANGED: "imagetrackchanged"; + readonly TEXT_TRACK_ADDED: "texttrackadded"; + readonly TEXT_CUE_CHANGED: "textcuechanged"; + readonly TRACKS_CHANGED: "trackschanged"; + readonly ABR_MODE_CHANGED: "abrmodechanged"; + readonly PLAYER_STATE_CHANGED: "playerstatechanged"; + readonly PLAYBACK_START: "playbackstart"; + readonly FIRST_PLAY: "firstplay"; + readonly FIRST_PLAYING: "firstplaying"; + readonly PLAYBACK_ENDED: "playbackended"; + readonly SOURCE_SELECTED: "sourceselected"; + readonly TEXT_STYLE_CHANGED: "textstylechanged"; + readonly MEDIA_RECOVERED: "mediarecovered"; + readonly VR_STEREO_MODE_CHANGED: "vrstereomodechanged"; + readonly FPS_DROP: "fpsdrop"; + readonly BOOKMARK_ERROR: "bookmarkerror"; + readonly CONCURRENCY_LIMIT: "concurrencylimit"; + readonly RESIZE: "resize"; + readonly TIMED_METADATA: "timedmetadata"; + readonly TIMED_METADATA_CHANGE: "timedmetadatachange"; + readonly TIMED_METADATA_ADDED: "timedmetadataadded"; + readonly FRAG_LOADED: "fragloaded"; + readonly MANIFEST_LOADED: "manifestloaded"; + readonly USER_GESTURE: "usergesture"; + readonly DRM_LICENSE_LOADED: "drmlicenseloaded"; + readonly SOURCE_URL_SWITCHED: "sourceurlswitched"; +}; + +// @public (undocumented) +export type DeferredPromise = { + resolve: (value?: any | PromiseLike) => void; + reject: (reason?: any) => void; + catch: (param: () => any) => void; + then(param: () => void): any; +}; + +// @public (undocumented) +const _Dom: { + addClassName(element: HTMLElement, className: string): void; + removeClassName(element: HTMLElement, className: string): void; + hasClassName(element: HTMLElement, className: string): boolean; + setAttribute(element: HTMLElement, name: string, value: string): void; + removeAttribute(element: HTMLElement, name: string): void; + setStyle(element: HTMLElement, name: string, value: string): void; + appendChild(parent?: HTMLElement, child?: HTMLElement): void; + removeChild(parent?: Node | null, child?: HTMLElement): void; + prependTo(child: HTMLElement, parent: HTMLElement): void; + getElementById(id: string): any; + getElementsByTagName(tagName: string): any; + createElement(tagName: string): any; + loadStyleSheetAsync(url: string): Promise; + loadScriptAsync(url: string): Promise; + getElementBySelector(selector: string): any; + insertBefore(parent: HTMLElement, newChild: HTMLElement, existingChild?: HTMLElement | null): HTMLElement | null; +}; + +// @public (undocumented) +export const DrmScheme: { + WIDEVINE: string; + PLAYREADY: string; + FAIRPLAY: string; +}; + +// @public (undocumented) +export class EngineDecoratorProvider implements IEngineDecoratorProvider { + constructor(plugin: IEngineDecoratorProvider); + // (undocumented) + getEngineDecorator(engine: IEngine, dispatchEventHandler: (event: FakeEvent) => void): IEngineDecorator; + // (undocumented) + getName(): string; +} + +// @public (undocumented) +export const EngineType: { + readonly HTML5: "html5"; + readonly FLASH: "flash"; + readonly SILVERLIGHT: "silverlight"; + readonly CAST: "cast"; + readonly YOUTUBE: "youtube"; + readonly IMAGE: "image"; +}; + +// Warning: (ae-forgotten-export) The symbol "IEnv" needs to be exported by the entry point playkit.d.ts +// +// @public (undocumented) +export const Env: IEnv; + +// @public +class Error_2 { + constructor(severity: number, category: number, code: number, data?: any); + // Warning: (ae-forgotten-export) The symbol "CategoryType" needs to be exported by the entry point playkit.d.ts + static Category: CategoryType; + // (undocumented) + category: number; + // Warning: (ae-forgotten-export) The symbol "CodeType" needs to be exported by the entry point playkit.d.ts + static Code: CodeType; + // (undocumented) + code: number; + // (undocumented) + data: any; + // Warning: (ae-forgotten-export) The symbol "SeverityType" needs to be exported by the entry point playkit.d.ts + static Severity: SeverityType; + // (undocumented) + severity: number; +} +export { Error_2 as Error } + +// @public +export class EventManager { + constructor(); + // @override + destroy(): Promise; + listen(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options?: any): void; + // Warning: (ae-forgotten-export) The symbol "ListenerType" needs to be exported by the entry point playkit.d.ts + listenOnce(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options?: any): void; + removeAll(): void; + unlisten(target: any, type: string, listener?: ListenerType): void; +} + +// @public (undocumented) +export const EventType: PKEventTypes; + +// @public +export class FakeEvent { + constructor(type: string, payload?: any); + bubbles: boolean; + cancelable: boolean; + currentTarget: any; + defaultPrevented: boolean; + isTrusted: boolean; + // (undocumented) + payload: any; + // @override + preventDefault(): void; + // @override + stopImmediatePropagation(): void; + stopped: boolean; + // @override + stopPropagation(): void; + target: any; + timeStamp: number | Date; + type: string; +} + +// @public +export class FakeEventTarget { + constructor(); + // Warning: (ae-forgotten-export) The symbol "EventListener_2" needs to be exported by the entry point playkit.d.ts + // + // @override + addEventListener(type: string, listener: typeof EventListener_2): void; + // @override + dispatchEvent(event: FakeEvent): boolean; + // @override + removeEventListener(type: string, listener: typeof EventListener_2): void; +} + +// @public +export function filterTracksByRestriction(videoTracks: VideoTrack[], restriction: PKABRRestrictionObject): VideoTrack[]; + +// @public (undocumented) +export type FontScaleOptions = -2 | -1 | 0 | 2 | 3 | 4; + +// @public (undocumented) +export type FontSizeOptions = '50%' | '75%' | '100%' | '200%' | '300%' | '400%'; + +// @public (undocumented) +const _Generator: { + uniqueId: (length?: number) => string; + guid: () => string; +}; + +// @public (undocumented) +export const getCapabilities: typeof Player.getCapabilities; + +// @public +export function getLogger(name?: string): ILogger; + +// @public +export function getLogLevel(name?: string): ILogLevel; + +// @public (undocumented) +export const Html5EventType: { + readonly ABORT: "abort"; + readonly CAN_PLAY: "canplay"; + readonly CAN_PLAY_THROUGH: "canplaythrough"; + readonly DURATION_CHANGE: "durationchange"; + readonly EMPTIED: "emptied"; + readonly ENDED: "ended"; + readonly ERROR: "error"; + readonly LOADED_DATA: "loadeddata"; + readonly LOADED_METADATA: "loadedmetadata"; + readonly LOAD_START: "loadstart"; + readonly PAUSE: "pause"; + readonly PLAY: "play"; + readonly PLAYING: "playing"; + readonly PROGRESS: "progress"; + readonly RATE_CHANGE: "ratechange"; + readonly SEEKED: "seeked"; + readonly SEEKING: "seeking"; + readonly STALLED: "stalled"; + readonly SUSPEND: "suspend"; + readonly TIME_UPDATE: "timeupdate"; + readonly VOLUME_CHANGE: "volumechange"; + readonly WAITING: "waiting"; + readonly ENTER_PICTURE_IN_PICTURE: "enterpictureinpicture"; + readonly LEAVE_PICTURE_IN_PICTURE: "leavepictureinpicture"; + readonly PRESENTATION_MODE_CHANGED: "webkitpresentationmodechanged"; +}; + +// @public (undocumented) +const _Http: { + protocol: string; + execute: (url: string, params: any, method?: string, headers?: Map, timeout?: number, ontimeout?: ((...args: any[]) => any) | undefined) => Promise; + jsonp: typeof jsonp; + convertHeadersToDictionary: (headerRow: string) => { + [header: string]: string; + }; +}; + +// @public (undocumented) +export interface ICapability { + // (undocumented) + getCapability(): Promise; + // (undocumented) + runCapability(): void; + // (undocumented) + setCapabilities(capabilities: { + [name: string]: any; + }): void; +} + +// @public (undocumented) +export interface IDrmProtocol { + // (undocumented) + canPlayDrm(drmData: Array): boolean; + // (undocumented) + isConfigured(drmData: Array, drmConfig: PKDrmConfigObject): boolean; + // (undocumented) + setDrmPlayback(...any: any[]): void; +} + +// @public (undocumented) +export interface IEngine extends FakeEventTarget { + // (undocumented) + addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack | undefined; + // (undocumented) + applyABRRestriction(restrictions: PKABRRestrictionObject): void; + // (undocumented) + attach(): void; + // (undocumented) + attachMediaSource(): void; + // (undocumented) + autoplay: boolean; + // (undocumented) + availableBuffer: number; + // (undocumented) + buffered: TimeRanges; + // (undocumented) + controls: boolean; + // (undocumented) + crossOrigin: string | null; + // (undocumented) + currentTime: number; + // (undocumented) + defaultMuted: boolean; + // (undocumented) + defaultPlaybackRate: number; + // (undocumented) + destroy(): void; + // (undocumented) + detach(): void; + // (undocumented) + detachMediaSource(): void; + // (undocumented) + duration: number; + // (undocumented) + enableAdaptiveBitrate(): void; + // (undocumented) + ended: boolean; + // (undocumented) + enterPictureInPicture(): void; + // (undocumented) + error: MediaError | null; + // (undocumented) + exitPictureInPicture(): void; + // (undocumented) + getDrmInfo(): PKDrmDataObject | null; + // (undocumented) + getNativeTextTracks(): TextTrack[]; + // (undocumented) + getStartTimeOfDvrWindow(): number; + // (undocumented) + getThumbnail(time: number): ThumbnailInfo | null; + // (undocumented) + getVideoElement(): HTMLVideoElement; + // (undocumented) + hideTextTrack(): void; + // (undocumented) + id: string; + // (undocumented) + isAdaptiveBitrateEnabled(): boolean; + // (undocumented) + isInPictureInPicture: boolean; + // (undocumented) + isLive(): boolean; + // (undocumented) + isOnLiveEdge(): boolean; + // (undocumented) + isPictureInPictureSupported(): boolean; + // (undocumented) + liveDuration: number; + // (undocumented) + load(startTime?: number): Promise<{ + tracks: Track[]; + }>; + // (undocumented) + loop: boolean; + // (undocumented) + muted: boolean; + // (undocumented) + networkState: number; + // (undocumented) + pause(): void; + // (undocumented) + paused: boolean; + // (undocumented) + play(): Promise | undefined; + // (undocumented) + playbackRate: number; + // (undocumented) + playbackRates: Array; + // (undocumented) + played: TimeRanges; + // (undocumented) + playsinline: boolean; + // (undocumented) + poster: string; + // (undocumented) + preload: "none" | "metadata" | "auto" | ""; + // (undocumented) + readyState: number; + // (undocumented) + reset(): void; + // (undocumented) + resetAllCues(): void; + // (undocumented) + restore(source: PKMediaSourceObject, config: Object): void; + // (undocumented) + seekable: TimeRanges; + // (undocumented) + seeking: boolean; + // (undocumented) + seekToLiveEdge(): void; + // (undocumented) + selectAudioTrack(audioTrack: AudioTrack): void; + // (undocumented) + selectImageTrack(imageTrack: ImageTrack): void; + // (undocumented) + selectTextTrack(textTrack: TextTrack_2): void; + // (undocumented) + selectVideoTrack(videoTrack: VideoTrack): void; + // (undocumented) + src: string; + // (undocumented) + targetBuffer: number; + // (undocumented) + videoHeight: number; + // (undocumented) + videoWidth: number; + // (undocumented) + volume: number; +} + +// @public (undocumented) +export interface IEngineDecorator { + // (undocumented) + active: boolean; + // (undocumented) + attach?: () => void; + // (undocumented) + attachMediaSource?: () => void; + // (undocumented) + autoplay?: boolean; + // (undocumented) + availableBuffer?: number; + // (undocumented) + buffered?: TimeRanges; + // (undocumented) + controls?: boolean; + // (undocumented) + crossOrigin?: string; + // (undocumented) + currentTime?: number; + // (undocumented) + defaultMuted?: boolean; + // (undocumented) + defaultPlaybackRate?: number; + // (undocumented) + destroy?: () => void; + // (undocumented) + detach?: () => void; + // (undocumented) + detachMediaSource?: () => void; + // (undocumented) + dispatchEvent(event: FakeEvent): boolean; + // (undocumented) + duration?: number; + // (undocumented) + enableAdaptiveBitrate?: () => void; + // (undocumented) + ended?: boolean; + // (undocumented) + enterPictureInPicture?: () => void; + // (undocumented) + error?: MediaError; + // (undocumented) + exitPictureInPicture?: () => void; + // (undocumented) + getStartTimeOfDvrWindow?: () => number; + // (undocumented) + getVideoElement?: () => HTMLVideoElement; + // (undocumented) + hideTextTrack?: () => void; + // (undocumented) + id?: string; + // (undocumented) + isAdaptiveBitrateEnabled?: () => boolean; + // (undocumented) + isInPictureInPicture?: boolean; + // (undocumented) + isLive?: () => boolean; + // (undocumented) + isPictureInPictureSupported?: () => boolean; + // (undocumented) + load?: (startTime?: number) => Promise; + // (undocumented) + loop?: boolean; + // (undocumented) + muted?: boolean; + // (undocumented) + networkState?: number; + // (undocumented) + pause?: () => void; + // (undocumented) + paused?: boolean; + // (undocumented) + play?: () => void; + // (undocumented) + playbackRate?: number; + // (undocumented) + playbackRates?: Array; + // (undocumented) + played?: TimeRanges; + // (undocumented) + playsinline?: boolean; + // (undocumented) + poster?: string; + // (undocumented) + preload?: string; + // (undocumented) + readyState?: number; + // (undocumented) + reset?: () => void; + // (undocumented) + resetAllCues?: () => void; + // (undocumented) + restore?: (source: PKMediaSourceObject, config: any) => void; + // (undocumented) + seekable?: TimeRanges; + // (undocumented) + seeking?: boolean; + // (undocumented) + seekToLiveEdge?: () => void; + // (undocumented) + selectAudioTrack?: (audioTrack: AudioTrack) => void; + // (undocumented) + selectTextTrack?: (textTrack: TextTrack_2) => void; + // (undocumented) + selectVideoTrack?: (videoTrack: VideoTrack) => void; + // (undocumented) + src?: string; + // (undocumented) + targetBuffer?: number; + // (undocumented) + videoHeight?: number; + // (undocumented) + videoWidth?: number; + // (undocumented) + volume?: number; +} + +// @public (undocumented) +export interface IEngineDecoratorProvider { + // (undocumented) + getEngineDecorator(engine: IEngine, dispatchEventHandler: Function): IEngineDecorator; + // (undocumented) + getName(): string; +} + +// @public (undocumented) +export interface IEngineStatic { + // (undocumented) + canPlaySource(source: PKMediaSourceObject, preferNative: boolean, drmConfig: PKDrmConfigObject): boolean; + // (undocumented) + createEngine(source: PKMediaSourceObject, config: Object, playerId: string): IEngine; + // (undocumented) + getCapabilities(): Promise; + // (undocumented) + id: string; + // (undocumented) + isSupported(): boolean; + // (undocumented) + prepareVideoElement(playerId: string): void; + // (undocumented) + runCapabilities(): void; + // (undocumented) + setCapabilities(capabilities: { + [name: string]: any; + }): void; +} + +// @public (undocumented) +export type ImageSourceOptions = { + thumbnailAPIParams: { + [parmaName: string]: string; + }; +}; + +// @public (undocumented) +export class ImageTrack extends Track { + constructor(settings: { + id: string; + active: boolean; + index: number; + url: string; + width: number; + height: number; + duration: number; + rows: number; + cols: number; + customData: any; + }); + // (undocumented) + get cols(): number; + // (undocumented) + get customData(): any; + // (undocumented) + get duration(): number; + // (undocumented) + get height(): number; + // (undocumented) + get rows(): number; + // (undocumented) + get sliceHeight(): number; + // (undocumented) + get sliceWidth(): number; + // (undocumented) + get url(): string; + // (undocumented) + get width(): number; +} + +// @public (undocumented) +export interface IMediaSourceAdapter extends FakeEventTarget { + // (undocumented) + applyABRRestriction(restriction: PKABRRestrictionObject): void; + // (undocumented) + attachMediaSource(): void; + // (undocumented) + capabilities: PKMediaSourceCapabilities; + // (undocumented) + destroy(): Promise; + // (undocumented) + detachMediaSource(): void; + // (undocumented) + disableNativeTextTracks(): void; + // (undocumented) + enableAdaptiveBitrate(): void; + // (undocumented) + getDrmInfo(): PKDrmDataObject | null; + // (undocumented) + getSegmentDuration(): number; + // (undocumented) + getStartTimeOfDvrWindow(): number; + // (undocumented) + getThumbnail(time: number): ThumbnailInfo | null; + // (undocumented) + handleMediaError(error?: MediaError): boolean; + // (undocumented) + hideTextTrack(): void; + // (undocumented) + isAdaptiveBitrateEnabled(): boolean; + // (undocumented) + isLive(): boolean; + // (undocumented) + isOnLiveEdge(): boolean; + // (undocumented) + liveDuration: number; + // (undocumented) + load(startTime?: number): Promise<{ + tracks: Track[]; + }>; + // (undocumented) + seekToLiveEdge(): void; + // (undocumented) + selectAudioTrack(audioTrack: AudioTrack): void; + // (undocumented) + selectImageTrack(imageTrack: ImageTrack): void; + // (undocumented) + selectTextTrack(textTrack: TextTrack_2): void; + // (undocumented) + selectVideoTrack(videoTrack: VideoTrack): void; + // (undocumented) + setMaxBitrate(bitrate: number): void; + // (undocumented) + src: string; + // (undocumented) + targetBuffer: number; +} + +// @public (undocumented) +export interface IMediaSourceAdapterStatic { + // (undocumented) + canPlayDrm(drmData: Array, drmConfig: PKDrmConfigObject): boolean; + // (undocumented) + canPlayType(mimeType: string): boolean; + // (undocumented) + createAdapter(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: Object): IMediaSourceAdapter; + // (undocumented) + id: string; + // (undocumented) + isMSESupported(): boolean; + // (undocumented) + isSupported(): boolean; +} + +// @public (undocumented) +function loadPlayer(config: any): Player; +export default loadPlayer; +export { loadPlayer } + +// @public (undocumented) +export type LoggerLevels = { + TRACE: ILogLevel; + TIME: ILogLevel; + ERROR: ILogLevel; + INFO: ILogLevel; + DEBUG: ILogLevel; + WARN: ILogLevel; + OFF: ILogLevel; +}; + +// @public (undocumented) +export const LogLevel: LoggerLevels; + +// @public (undocumented) +export const LogLevelType: Record; + +// @public (undocumented) +export type MaybeState = State | null; + +// @public (undocumented) +export const MediaType: { + readonly VOD: "Vod"; + readonly LIVE: "Live"; + readonly AUDIO: "Audio"; + readonly IMAGE: "Image"; + readonly UNKNOWN: "Unknown"; +}; + +// @public (undocumented) +const MimeType_2: PKMimeTypes; +export { MimeType_2 as MimeType } + +// @public +class MultiMap { + constructor(); + clear(): void; + get(key: K): Array; + getAll(): T[]; + has(key: K): boolean; + keys(): Iterator; + push(key: K, value: T): void; + remove(key: K, value: T): void; + set(key: K, values: T[]): void; +} + +// @public (undocumented) +export const NAME: string; + +// @public (undocumented) +const _Number: { + isNumber: (n: number) => boolean; + isInt: (n: number) => boolean; + isFloat: (n: number) => boolean; +}; + +// @public (undocumented) +const _Object: { + merge: (objects: Array) => any; + isObject: (item: any) => boolean; + isClassInstance: (item: any) => boolean; + mergeDeep: (target: any, ...sources: any) => any; + copyDeep: (data: any) => any; + isEmptyObject: (obj: object) => boolean; + getPropertyPath: (obj: object, propertyPath: string) => any; + hasPropertyPath: (obj: object, propertyPath: string) => boolean; + createPropertyPath: (obj: object, path: string, value?: any) => any; + deletePropertyPath: (obj: object, path: string) => void; + defer: () => DeferredPromise; + bind: (thisObj: any, fn: (...args: any[]) => any) => (...args: any[]) => any; +}; + +// @public (undocumented) +export type PKAbrConfigObject = { + fpsDroppedMonitoringThreshold: number; + fpsDroppedFramesInterval: number; + capLevelOnFPSDrop: boolean; +}; + +// @public (undocumented) +export type PKABRRestrictionObject = { + minHeight: number; + maxHeight: number; + minWidth: number; + maxWidth: number; + minBitrate: number; + maxBitrate: number; +}; + +// @public (undocumented) +export type PKAdBreakOptions = { + type?: string; + position?: number; + numAds?: number; +}; + +// @public (undocumented) +export type PKAdOptions = { + system?: string; + url?: string; + contentType?: string; + title?: string; + position?: number; + duration?: number; + clickThroughUrl?: string; + posterUrl?: string; + skipOffset?: number; + linear: boolean; + width: number; + height: number; + bitrate: number; + bumper: boolean; + inStream?: boolean; + vpaid?: boolean; + streamId?: string; + wrapperAdIds: Array; + wrapperCreativeIds: Array; + wrapperAdSystems: Array; +}; + +// @public (undocumented) +export type PKCustomLabelsConfigObject = { + audio: Function; + qualities: Function; + video: Function; +}; + +// @public (undocumented) +export type PKDimensionsConfig = { + width: number; + height: number; + ratio?: string; +}; + +// @public (undocumented) +export type PKDrmConfigObject = { + keySystem: string; +}; + +// @public (undocumented) +export type PKDrmDataObject = { + licenseUrl: string; + scheme: string; + certificate?: string; +}; + +// @public (undocumented) +export type PKEventTypes = typeof Html5EventType & typeof CustomEventType & typeof AdEventType; + +// @public (undocumented) +export type PKExternalThumbnailsConfig = { + vttUrl: string; +}; + +// @public (undocumented) +export type PKLogConfigObject = { + level: string; + handler?: ILogHandler; +}; + +// @public (undocumented) +export type PKMediaSourceCapabilities = { + [fpsControl: string]: boolean; +}; + +// @public (undocumented) +export type PKMediaSourceObject = { + mimetype: string; + url: string; + id?: string; + bandwidth: number; + width: number; + height: number; + drmData?: Array; +}; + +// @public (undocumented) +export type PKMediaSourceOptionsObject = { + forceRedirectExternalStreams: boolean; + redirectExternalStreamsHandler?: Function; + redirectExternalStreamsTimeout?: number; +}; + +// @public (undocumented) +export type PKMetadataConfigObject = { + name?: string; + description?: string; + mediaType?: string; + metas?: Object; + tags?: Object; + epgId?: string; + recordingId?: string; +}; + +// @public (undocumented) +export type PKMimeTypes = { + [mime: string]: Array; +}; + +// @public (undocumented) +export type PKNetworkConfigObject = { + requestFilter?: Function; + responseFilter?: Function; + maxStaleLevelReloads: number; +}; + +// @public (undocumented) +export type PKOrientationType = { + [type: string]: string; +}; + +// @public (undocumented) +export type PKPlaybackConfigObject = { + audioLanguage: string; + textLanguage: string; + captionsDisplay: boolean; + additionalAudioLanguage: string; + additionalTextLanguage: string; + volume: number; + playsinline: boolean; + crossOrigin: string; + preload: string; + autoplay: PKAutoPlayTypes; + allowMutedAutoPlay: boolean; + muted: boolean; + pictureInPicture: boolean; + streamPriority: Array; + preferNative: PKPreferNativeConfigObject; + inBrowserFullscreen: boolean; + playAdsWithMSE: boolean; + screenLockOrientionMode: string; +}; + +// @public (undocumented) +export type PKPlaybackOptionsObject = { + html5: { + hls: Object; + dash: Object; + }; +}; + +// @public (undocumented) +export type PKPlayerDimensions = { + width: number; + height: number; +}; + +// @public (undocumented) +export type PKPlayOptionsObject = { + programmatic: boolean; +}; + +// @public (undocumented) +export type PKPreferNativeConfigObject = { + hls: boolean; + dash: boolean; +}; + +// @public (undocumented) +export type PKRequestObject = { + url: string; + body: ArrayBuffer | ArrayBufferView | string | null; + headers: { + [header: string]: string; + }; +}; + +// @public (undocumented) +export type PKRequestType = { + [request: string]: number; +}; + +// @public (undocumented) +export type PKResponseObject = { + url: string; + originalUrl: string; + data: ArrayBuffer | ArrayBufferView; + headers: { + [header: string]: string; + }; +}; + +// @public (undocumented) +export type PKSessionConfigObject = { + id?: string; + ks?: string; + isAnonymous?: boolean; + partnerId?: number; + uiConfId?: number; +}; + +// @public (undocumented) +export type PKSourcesConfigObject = { + hls: Array; + dash: Array; + progressive: Array; + image: Array; + captions?: Array; + thumbnails?: PKExternalThumbnailsConfig; + options: PKMediaSourceOptionsObject; + type: string; + dvr: boolean; + metadata: PKMetadataConfigObject; + id?: string; + poster?: string; + duration?: number; + startTime?: number; + vr?: any; + imageSourceOptions?: ImageSourceOptions; + seekFrom?: number; + clipTo?: number; +}; + +// @public (undocumented) +export type PKStatsObject = { + targetBuffer: number; + availableBuffer: number; +}; + +// @public (undocumented) +export type PKStreamingConfigObject = { + forceBreakStall: boolean; + lowLatencyMode: boolean; + trackEmsgEvents: boolean; + switchDynamicToStatic: boolean; +}; + +// @public (undocumented) +export type PKStreamPriorityObject = { + engine: string; + format: string; +}; + +// @public (undocumented) +export type PKStreamTypes = Record<'DASH' | 'HLS' | 'PROGRESSIVE' | 'IMAGE', PlayerStreamTypes>; + +// @public (undocumented) +export interface PKTextConfigObject { + // (undocumented) + captionsTextTrack1Label: string; + // (undocumented) + captionsTextTrack1LanguageCode: string; + // (undocumented) + captionsTextTrack2Label: string; + // (undocumented) + captionsTextTrack2LanguageCode: string; + // (undocumented) + enableCEA708Captions: boolean; + // (undocumented) + forceCenter: boolean; + // (undocumented) + textStyle: PKTextStyleObject; + // (undocumented) + textTrackDisplaySetting: PKTextTrackDisplaySettingObject; + // (undocumented) + useNativeTextTrack: boolean; + // (undocumented) + useShakaTextTrackDisplay: boolean; +} + +// @public +export type PKTextStyleObject = { + fontSize: FontSizeOptions; + fontScale: FontScaleOptions; + fontFamily: string; + fontColor: [number, number, number]; + fontOpacity: number; + fontEdge: Array<[number, number, number, number, number, number]>; + backgroundColor: [number, number, number]; + backgroundOpacity: number; +}; + +// @public (undocumented) +export interface PKTextTrackCue extends TextTrackCue { + // (undocumented) + type?: string; + // (undocumented) + value: { + key: string; + data: string | any; + }; +} + +// @public (undocumented) +export type PKTextTrackDisplaySettingObject = { + line: string | number; + lineAlign: string; + align: string; + position: number; + positionAlign: string; + snapToLines: boolean; + vertical: string; + size: number; +}; + +// @public (undocumented) +export type PKThumbnailVttCue = { + startTime: number; + endTime: number; + imgUrl: string; + coordinates: { + x: number; + y: number; + } | null; + size: { + height: number; + width: number; + } | null; +}; + +// @public (undocumented) +export type PKTrackTypes = { + [track: string]: string; +}; + +// @public (undocumented) +export type PKVideoDimensionsObject = { + videoHeight: number; + videoWidth: number; +}; + +// @public (undocumented) +export type PKVideoElementStore = { + [id: string]: HTMLVideoElement; +} | {}; + +// @public +export class Player extends FakeEventTarget { + constructor(config?: any); + get AbrMode(): typeof AbrMode; + get AdBreakType(): typeof AdBreakType; + addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack | undefined; + get AdTagType(): typeof AdTagType; + attachMediaSource(): void; + get buffered(): TimeRanges | null; + get config(): any; + configure(config?: any): void; + get CorsType(): typeof CorsType; + set crossOrigin(crossOrigin: string); + get crossOrigin(): string | null; + set currentTime(to: number); + get currentTime(): number | null; + // (undocumented) + static get _defaultConfig(): any; + get defaultPlaybackRate(): number; + destroy(): void; + detachMediaSource(): void; + set dimensions(dimensions: PKDimensionsConfig); + get dimensions(): PKPlayerDimensions; + get duration(): number | null; + enableAdaptiveBitrate(): void; + get ended(): boolean | null; + get EngineType(): typeof EngineType; + get engineType(): string; + enterFullscreen(elementId?: string): void; + enterPictureInPicture(): void; + get env(): IEnv; + get Error(): typeof Error_2; + get Event(): PKEventTypes; + exitFullscreen(): void; + exitPictureInPicture(): void; + getActiveTracks(): { + video: VideoTrack; + audio: AudioTrack; + text: TextTrack_2; + }; + static getCapabilities(engineType?: string): Promise<{ + [name: string]: any; + }>; + // (undocumented) + getDrmInfo(): PKDrmDataObject | null; + getLogLevel(name?: string): ILogLevel; + getNativeTextTracks(): Array; + getStartTimeOfDvrWindow(): number; + _getTextTracks(): Array; + getThumbnail(time: number): ThumbnailInfo | null; + getTracks(type?: TrackTypes): T[]; + // (undocumented) + getVideoElement(): HTMLVideoElement | undefined; + getView(): HTMLElement; + get hasUserInteracted(): boolean; + hideBlackCover(): void; + hideTextTrack(): void; + isAdaptiveBitrateEnabled(): boolean; + isAudio(): boolean; + isDvr(): boolean; + // (undocumented) + isFullscreen(): boolean; + isInPictureInPicture(): boolean; + isLive(): boolean; + isOnLiveEdge(): boolean; + isPictureInPictureSupported(): boolean; + isVr(): boolean; + get liveDuration(): number | null; + load(): void; + set loadingMedia(loading: boolean); + static _logger: ILogger; + get LogLevel(): LoggerLevels; + get LogLevelType(): Record; + get MediaType(): typeof MediaType; + set muted(mute: boolean); + get muted(): boolean | null; + notifyEnterFullscreen(): void; + notifyExitFullscreen(): void; + _onTracksChanged(event: FakeEvent): void; + pause(): void; + get paused(): boolean | null; + play(playOptions?: PKPlayOptionsObject): void; + // Warning: (ae-forgotten-export) The symbol "PlaybackMiddleware" needs to be exported by the entry point playkit.d.ts + get playbackMiddleware(): PlaybackMiddleware; + set playbackRate(rate: number); + get playbackRate(): number | null; + get playbackRates(): Array; + set playsinline(playsinline: boolean); + get playsinline(): boolean | null; + get poster(): string; + // Warning: (ae-forgotten-export) The symbol "PosterManager" needs to be exported by the entry point playkit.d.ts + get posterManager(): PosterManager; + ready(): Promise; + registerEngineDecoratorProvider(engineDecoratorProvider: IEngineDecoratorProvider): void; + reset(isChangeMedia?: boolean): void; + static runCapabilities(): void; + get seeking(): boolean | null; + seekToLiveEdge(): void; + selectTrack(track?: Track): void; + static setCapabilities(engineType: string, capabilities: { + [name: string]: any; + }): void; + setLogLevel(level: ILogLevel, name?: string): void; + setSources(sources: PKSourcesConfigObject): void; + setSourcesMetadata(sourcesMetadata: PKMetadataConfigObject): void; + setTextDisplaySettings(settings: PKTextTrackDisplaySettingObject): void; + showBlackCover(): void; + showTextTrack(): void; + get sources(): PKSourcesConfigObject; + get src(): string | null; + get State(): typeof StateType; + // (undocumented) + get stats(): PKStatsObject; + get StreamType(): typeof StreamType; + get streamType(): string; + // (undocumented) + get textDisplaySetting(): any; + get TextStyle(): typeof TextStyle; + set textStyle(style: TextStyle); + get textStyle(): TextStyle; + get Track(): typeof TrackType; + _updateTracks(tracks: Array): void; + get videoHeight(): number | null; + get videoWidth(): number | null; + set volume(vol: number); + get volume(): number | null; +} + +// @public (undocumented) +export type PlayerStreamTypes = 'dash' | 'hls' | 'progressive' | 'image'; + +// Warning: (ae-forgotten-export) The symbol "EngineProvider" needs to be exported by the entry point playkit.d.ts +// +// @public (undocumented) +export const registerEngine: typeof EngineProvider.register; + +// Warning: (ae-forgotten-export) The symbol "MediaSourceProvider" needs to be exported by the entry point playkit.d.ts +// +// @public (undocumented) +export const registerMediaSourceAdapter: typeof MediaSourceProvider.register; + +// @public (undocumented) +export const RequestType: PKRequestType; + +// @public +class ResizeWatcher extends FakeEventTarget { + constructor(); + destroy(): void; + init(el: HTMLElement): void; +} + +// @public (undocumented) +export const ScreenOrientationType: PKOrientationType; + +// @public (undocumented) +export const setCapabilities: typeof Player.setCapabilities; + +// @public +export function setLogHandler(handler: ILogHandler): void; + +// @public +export function setLogLevel(level: ILogLevel, name?: string): void; + +// @public +export class State { + constructor(type: string); + get duration(): number; + set duration(endTime: number); + type: string; +} + +// @public (undocumented) +export type StateChanged = { + oldState: MaybeState; + newState: MaybeState; +}; + +// @public (undocumented) +export const StateType: { + readonly IDLE: "idle"; + readonly LOADING: "loading"; + readonly PLAYING: "playing"; + readonly PAUSED: "paused"; + readonly BUFFERING: "buffering"; +}; + +// @public (undocumented) +export const StreamType: { + readonly DASH: "dash"; + readonly HLS: "hls"; + readonly PROGRESSIVE: "progressive"; + readonly IMAGE: "image"; +}; + +// @public (undocumented) +const _String: { + capitlize: (string: string) => string; + endsWith: (string: string, searchString: string) => boolean; +}; + +// @public +export class TextStyle { + backgroundColor: [number, number, number]; + backgroundOpacity: number; + clone(): TextStyle; + static EdgeStyles: { + [edgeStyle: string]: Array<[number, number, number, number, number, number]>; + }; + fontColor: [number, number, number]; + fontEdge: Array<[number, number, number, number, number, number]>; + static FontFamily: { + [font: string]: string; + }; + fontFamily: string; + fontOpacity: number; + set fontScale(fontScale: number); + get fontScale(): FontScaleOptions; + set fontSize(fontSize: string); + get fontSize(): FontSizeOptions; + static FontSizes: { + label: FontSizeOptions; + value: FontScaleOptions; + }[]; + // (undocumented) + static fromJson(setting: PKTextStyleObject): TextStyle; + // (undocumented) + getTextShadow(): string; + // (undocumented) + get implicitFontScale(): number; + isEqual(textStyle: TextStyle): boolean; + static StandardColors: { + [coloer: string]: [number, number, number]; + }; + static StandardOpacities: { + [opacityLevel: string]: number; + }; + toCSS(): string; + // (undocumented) + static toJson(text: TextStyle): PKTextStyleObject; + static toRGBA(color: [number, number, number], opacity: number): string; +} + +// @public (undocumented) +class TextTrack_2 extends Track { + // Warning: (ae-forgotten-export) The symbol "TrackSettings" needs to be exported by the entry point playkit.d.ts + constructor(settings?: TrackSettings); + // (undocumented) + get default(): boolean; + // (undocumented) + get external(): boolean; + // (undocumented) + static EXTERNAL_TRACK_ID: string; + // (undocumented) + static _generateIndex(): number; + // (undocumented) + static isExternalTrack(track: any): boolean; + // (undocumented) + static isMetaDataTrack(track: any): boolean; + // (undocumented) + static isNativeTextTrack(track: any): boolean; + // (undocumented) + static KIND: Record<'METADATA' | 'SUBTITLES' | 'CAPTIONS', TextTrackKind>; + // (undocumented) + get kind(): string; + // (undocumented) + static MODE: Record<'DISABLED' | 'SHOWING' | 'HIDDEN', TextTrackMode>; + // (undocumented) + get mode(): string | undefined; + set mode(mode: string); + // (undocumented) + static reset(): void; +} +export { TextTrack_2 as PKTextTrack } +export { TextTrack_2 as TextTrack } + +// @public (undocumented) +export class ThumbnailInfo { + constructor(info: { + url: string; + width: number; + height: number; + x: number; + y: number; + }); + // (undocumented) + get height(): number; + // (undocumented) + get url(): string; + // (undocumented) + get width(): number; + // (undocumented) + get x(): number; + // (undocumented) + get y(): number; +} + +// @public (undocumented) +export class TimedMetadata { + constructor(startTime: number, endTime: number, id: string, type: string, metadata: any); + // (undocumented) + endTime: number; + // (undocumented) + id: string; + // (undocumented) + metadata: string | any; + // (undocumented) + startTime: number; + // (undocumented) + static TYPE: { + [type: string]: string; + }; + // (undocumented) + type: string; +} + +// @public +export class Track { + constructor(settings?: any); + get active(): boolean; + set active(value: boolean); + get available(): boolean; + set available(isAvailable: boolean); + // (undocumented) + static clone(track: any): T; + clone: (...args: any[]) => any; + get id(): number; + get index(): number; + set index(value: number); + protected _index: number; + get label(): string | undefined; + set label(value: string); + protected _label: string | undefined; + static langComparer(inputLang: string, trackLang: string, additionalLanguage?: string, equal?: boolean): boolean; + get language(): string; +} + +// @public (undocumented) +export const TrackType: { + readonly VIDEO: "video"; + readonly AUDIO: "audio"; + readonly TEXT: "text"; + readonly IMAGE: "image"; +}; + +// @public (undocumented) +export type TrackTypes = 'video' | 'audio' | 'text' | 'image'; + +// @public (undocumented) +export type Transition = { + [state: string]: { + [event: string]: Function; + }; +}; + +// @public (undocumented) +export const unRegisterEngine: typeof EngineProvider.unRegister; + +declare namespace Utils { + export { + ResizeWatcher, + MultiMap, + binarySearch, + _Number as Number, + _String as String, + _Object as Object, + _Generator as Generator, + _Dom as Dom, + _Http as Http, + _VERSION as VERSION + } +} +export { Utils } +export { Utils as utils } + +// @public (undocumented) +export const VERSION: string; + +// @public (undocumented) +const _VERSION: { + compare: (v1: string, v2: string, options?: any) => number; +}; + +// @public +export class VideoTrack extends Track { + constructor(settings?: any); + // (undocumented) + get bandwidth(): number; + // (undocumented) + get height(): number; + // (undocumented) + get width(): number; +} + + +export * from "js-logger"; + +// Warnings were encountered during analysis: +// +// src/types/sources-config.ts:13:3 - (ae-forgotten-export) The symbol "PKExternalCaptionObject" needs to be exported by the entry point playkit.d.ts +// src/utils/util.ts:504:4 - (ae-forgotten-export) The symbol "jsonp" needs to be exported by the entry point playkit.d.ts + +// (No @packageDocumentation comment for this package) + +``` diff --git a/api-extractor/report/playkit-js.api.md b/api-extractor/report/playkit-js.api.md new file mode 100644 index 000000000..53263b5b9 --- /dev/null +++ b/api-extractor/report/playkit-js.api.md @@ -0,0 +1,1656 @@ +## API Report File for "@playkit-js/playkit-js" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { ILogger } from 'js-logger'; +import { ILogHandler } from 'js-logger'; +import { ILogLevel } from 'js-logger'; + +// @public (undocumented) +export const AbrMode: { + readonly MANUAL: "manual"; + readonly AUTO: "auto"; +}; + +// @public (undocumented) +export const AdBreakType: { + readonly PRE: "preroll"; + readonly MID: "midroll"; + readonly POST: "postroll"; + readonly OVERLAY: "overlay"; +}; + +// @public (undocumented) +export const AdEventType: { + readonly AD_CAN_SKIP: "adcanskip"; + readonly AD_MANIFEST_LOADED: "admanifestloaded"; + readonly AD_LOADED: "adloaded"; + readonly AD_STARTED: "adstarted"; + readonly AD_RESUMED: "adresumed"; + readonly AD_PAUSED: "adpaused"; + readonly AD_CLICKED: "adclicked"; + readonly AD_SKIPPED: "adskipped"; + readonly AD_COMPLETED: "adcompleted"; + readonly AD_ERROR: "aderror"; + readonly ADS_COMPLETED: "adscompleted"; + readonly ALL_ADS_COMPLETED: "alladscompleted"; + readonly AD_BREAK_START: "adbreakstart"; + readonly AD_BREAK_END: "adbreakend"; + readonly AD_FIRST_QUARTILE: "adfirstquartile"; + readonly AD_MIDPOINT: "admidpoint"; + readonly AD_THIRD_QUARTILE: "adthirdquartile"; + readonly USER_CLOSED_AD: "userclosedad"; + readonly AD_VOLUME_CHANGED: "advolumechanged"; + readonly AD_MUTED: "admuted"; + readonly AD_PROGRESS: "adprogress"; + readonly AD_BUFFERING: "adbuffering"; + readonly AD_WATERFALLING: "adwaterfalling"; + readonly AD_WATERFALLING_FAILED: "adwaterfallingfailed"; + readonly AD_AUTOPLAY_FAILED: "adautoplayfailed"; +}; + +// @public (undocumented) +export const AdTagType: { + readonly VAST: "vast"; + readonly VMAP: "vmap"; +}; + +// @public +export class AudioTrack extends Track { +} + +// Warning: (ae-forgotten-export) The symbol "PKAutoPlayTypes" needs to be exported by the entry point playkit.d.ts +// +// @public (undocumented) +export const AutoPlayType: PKAutoPlayTypes; + +// @public (undocumented) +export class BaseMediaSourceAdapter extends FakeEventTarget implements IMediaSourceAdapter { + constructor(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config?: any); + // (undocumented) + applyABRRestriction(restrictions: PKABRRestrictionObject): void; + // (undocumented) + attachMediaSource(): void; + static canPlayType(mimeType: string, preferNative: boolean): boolean; + get capabilities(): PKMediaSourceCapabilities; + protected _capabilities: PKMediaSourceCapabilities; + protected _config: any; + destroy(): Promise; + // (undocumented) + detachMediaSource(): void; + disableNativeTextTracks(): void; + // (undocumented) + enableAdaptiveBitrate(): void; + protected _eventManager: EventManager; + // (undocumented) + getDrmInfo(): PKDrmDataObject | null; + // (undocumented) + protected _getLiveEdge(): number; + static getLogger: (name?: string) => ILogger; + // (undocumented) + getSegmentDuration(): number; + // (undocumented) + getStartTimeOfDvrWindow(): number; + // (undocumented) + getThumbnail(time: number): ThumbnailInfo | null; + handleMediaError(event?: MediaError): boolean; + // (undocumented) + hideTextTrack(): void; + static id: string; + // (undocumented) + isAdaptiveBitrateEnabled(): boolean; + // (undocumented) + isLive(): boolean; + static isMSESupported(): boolean; + // (undocumented) + isOnLiveEdge(): boolean; + static isSupported(): boolean; + // (undocumented) + get liveDuration(): number; + // (undocumented) + load(): Promise<{ + tracks: Track[]; + }>; + protected _loadPromise: Promise<{ + tracks: Array; + }> | undefined; + // (undocumented) + protected static _logger: ILogger; + protected _onTrackChanged(track: VideoTrack | AudioTrack | TextTrack_2 | ImageTrack): void; + // (undocumented) + seekToLiveEdge(): void; + // (undocumented) + selectAudioTrack(audioTrack: AudioTrack): void; + // (undocumented) + selectImageTrack(imageTrack: ImageTrack): void; + // (undocumented) + selectTextTrack(textTrack: TextTrack_2): void; + // (undocumented) + selectVideoTrack(videoTrack: VideoTrack): void; + // (undocumented) + setMaxBitrate(bitrate: number): void; + protected _sourceObj?: PKMediaSourceObject; + get src(): string; + set src(source: string); + // (undocumented) + get targetBuffer(): number; + protected _trigger(name: string, payload?: any): void; + protected _videoElement: HTMLVideoElement; +} + +// @public +export class BaseMiddleware { + callNext(next: (...args: any[]) => any): void; + id: string; +} + +// @public (undocumented) +function binarySearch(list?: Array, comparisonFn?: ((param: T) => number)): T | null; + +// @public (undocumented) +export type CapabilityResult = { + [capabilityName: string]: any; +}; + +// @public (undocumented) +export const CorsType: { + readonly ANONYMOUS: "anonymous"; + readonly USE_CREDENTIALS: "use-credentials"; +}; + +// @public +export function createTextTrackCue(timedMetadata: TimedMetadata): PKTextTrackCue | null; + +// @public +export function createTimedMetadata(cue: TextTrackCue): TimedMetadata | null; + +// @public (undocumented) +export const CustomEventType: { + readonly MEDIA_LOADED: "medialoaded"; + readonly PLAYER_RESET: "playerreset"; + readonly PLAYER_DESTROY: "playerdestroy"; + readonly ENTER_FULLSCREEN: "enterfullscreen"; + readonly EXIT_FULLSCREEN: "exitfullscreen"; + readonly PLAY_FAILED: "playfailed"; + readonly AUTOPLAY_FAILED: "autoplayfailed"; + readonly FALLBACK_TO_MUTED_AUTOPLAY: "fallbacktomutedautoplay"; + readonly CHANGE_SOURCE_STARTED: "changesourcestarted"; + readonly CHANGE_SOURCE_ENDED: "changesourceended"; + readonly MUTE_CHANGE: "mutechange"; + readonly VIDEO_TRACK_CHANGED: "videotrackchanged"; + readonly AUDIO_TRACK_CHANGED: "audiotrackchanged"; + readonly TEXT_TRACK_CHANGED: "texttrackchanged"; + readonly IMAGE_TRACK_CHANGED: "imagetrackchanged"; + readonly TEXT_TRACK_ADDED: "texttrackadded"; + readonly TEXT_CUE_CHANGED: "textcuechanged"; + readonly TRACKS_CHANGED: "trackschanged"; + readonly ABR_MODE_CHANGED: "abrmodechanged"; + readonly PLAYER_STATE_CHANGED: "playerstatechanged"; + readonly PLAYBACK_START: "playbackstart"; + readonly FIRST_PLAY: "firstplay"; + readonly FIRST_PLAYING: "firstplaying"; + readonly PLAYBACK_ENDED: "playbackended"; + readonly SOURCE_SELECTED: "sourceselected"; + readonly TEXT_STYLE_CHANGED: "textstylechanged"; + readonly MEDIA_RECOVERED: "mediarecovered"; + readonly VR_STEREO_MODE_CHANGED: "vrstereomodechanged"; + readonly FPS_DROP: "fpsdrop"; + readonly BOOKMARK_ERROR: "bookmarkerror"; + readonly CONCURRENCY_LIMIT: "concurrencylimit"; + readonly RESIZE: "resize"; + readonly TIMED_METADATA: "timedmetadata"; + readonly TIMED_METADATA_CHANGE: "timedmetadatachange"; + readonly TIMED_METADATA_ADDED: "timedmetadataadded"; + readonly FRAG_LOADED: "fragloaded"; + readonly MANIFEST_LOADED: "manifestloaded"; + readonly USER_GESTURE: "usergesture"; + readonly DRM_LICENSE_LOADED: "drmlicenseloaded"; + readonly SOURCE_URL_SWITCHED: "sourceurlswitched"; +}; + +// @public (undocumented) +export type DeferredPromise = { + resolve: (value?: any | PromiseLike) => void; + reject: (reason?: any) => void; + catch: (param: () => any) => void; + then(param: () => void): any; +}; + +// @public (undocumented) +const _Dom: { + addClassName(element: HTMLElement, className: string): void; + removeClassName(element: HTMLElement, className: string): void; + hasClassName(element: HTMLElement, className: string): boolean; + setAttribute(element: HTMLElement, name: string, value: string): void; + removeAttribute(element: HTMLElement, name: string): void; + setStyle(element: HTMLElement, name: string, value: string): void; + appendChild(parent?: HTMLElement, child?: HTMLElement): void; + removeChild(parent?: Node | null, child?: HTMLElement): void; + prependTo(child: HTMLElement, parent: HTMLElement): void; + getElementById(id: string): any; + getElementsByTagName(tagName: string): any; + createElement(tagName: string): any; + loadStyleSheetAsync(url: string): Promise; + loadScriptAsync(url: string): Promise; + getElementBySelector(selector: string): any; + insertBefore(parent: HTMLElement, newChild: HTMLElement, existingChild?: HTMLElement | null): HTMLElement | null; +}; + +// @public (undocumented) +export const DrmScheme: { + WIDEVINE: string; + PLAYREADY: string; + FAIRPLAY: string; +}; + +// @public (undocumented) +export class EngineDecoratorProvider implements IEngineDecoratorProvider { + constructor(plugin: IEngineDecoratorProvider); + // (undocumented) + getEngineDecorator(engine: IEngine, dispatchEventHandler: (event: FakeEvent) => void): IEngineDecorator; + // (undocumented) + getName(): string; +} + +// @public (undocumented) +export const EngineType: { + readonly HTML5: "html5"; + readonly FLASH: "flash"; + readonly SILVERLIGHT: "silverlight"; + readonly CAST: "cast"; + readonly YOUTUBE: "youtube"; + readonly IMAGE: "image"; +}; + +// Warning: (ae-forgotten-export) The symbol "IEnv" needs to be exported by the entry point playkit.d.ts +// +// @public (undocumented) +export const Env: IEnv; + +// @public +class Error_2 { + constructor(severity: number, category: number, code: number, data?: any); + // Warning: (ae-forgotten-export) The symbol "CategoryType" needs to be exported by the entry point playkit.d.ts + static Category: CategoryType; + // (undocumented) + category: number; + // Warning: (ae-forgotten-export) The symbol "CodeType" needs to be exported by the entry point playkit.d.ts + static Code: CodeType; + // (undocumented) + code: number; + // (undocumented) + data: any; + // Warning: (ae-forgotten-export) The symbol "SeverityType" needs to be exported by the entry point playkit.d.ts + static Severity: SeverityType; + // (undocumented) + severity: number; +} +export { Error_2 as Error } + +// @public +export class EventManager { + constructor(); + // @override + destroy(): Promise; + listen(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options?: any): void; + // Warning: (ae-forgotten-export) The symbol "ListenerType" needs to be exported by the entry point playkit.d.ts + listenOnce(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options?: any): void; + removeAll(): void; + unlisten(target: any, type: string, listener?: ListenerType): void; +} + +// @public (undocumented) +export const EventType: PKEventTypes; + +// @public +export class FakeEvent { + constructor(type: string, payload?: any); + bubbles: boolean; + cancelable: boolean; + currentTarget: any; + defaultPrevented: boolean; + isTrusted: boolean; + // (undocumented) + payload: any; + // @override + preventDefault(): void; + // @override + stopImmediatePropagation(): void; + stopped: boolean; + // @override + stopPropagation(): void; + target: any; + timeStamp: number | Date; + type: string; +} + +// @public +export class FakeEventTarget { + constructor(); + // Warning: (ae-forgotten-export) The symbol "EventListener_2" needs to be exported by the entry point playkit.d.ts + // + // @override + addEventListener(type: string, listener: typeof EventListener_2): void; + // @override + dispatchEvent(event: FakeEvent): boolean; + // @override + removeEventListener(type: string, listener: typeof EventListener_2): void; +} + +// @public +export function filterTracksByRestriction(videoTracks: VideoTrack[], restriction: PKABRRestrictionObject): VideoTrack[]; + +// @public (undocumented) +export type FontScaleOptions = -2 | -1 | 0 | 2 | 3 | 4; + +// @public (undocumented) +export type FontSizeOptions = '50%' | '75%' | '100%' | '200%' | '300%' | '400%'; + +// @public (undocumented) +const _Generator: { + uniqueId: (length?: number) => string; + guid: () => string; +}; + +// @public (undocumented) +export const getCapabilities: typeof Player.getCapabilities; + +// @public +export function getLogger(name?: string): ILogger; + +// @public +export function getLogLevel(name?: string): ILogLevel; + +// @public (undocumented) +export const Html5EventType: { + readonly ABORT: "abort"; + readonly CAN_PLAY: "canplay"; + readonly CAN_PLAY_THROUGH: "canplaythrough"; + readonly DURATION_CHANGE: "durationchange"; + readonly EMPTIED: "emptied"; + readonly ENDED: "ended"; + readonly ERROR: "error"; + readonly LOADED_DATA: "loadeddata"; + readonly LOADED_METADATA: "loadedmetadata"; + readonly LOAD_START: "loadstart"; + readonly PAUSE: "pause"; + readonly PLAY: "play"; + readonly PLAYING: "playing"; + readonly PROGRESS: "progress"; + readonly RATE_CHANGE: "ratechange"; + readonly SEEKED: "seeked"; + readonly SEEKING: "seeking"; + readonly STALLED: "stalled"; + readonly SUSPEND: "suspend"; + readonly TIME_UPDATE: "timeupdate"; + readonly VOLUME_CHANGE: "volumechange"; + readonly WAITING: "waiting"; + readonly ENTER_PICTURE_IN_PICTURE: "enterpictureinpicture"; + readonly LEAVE_PICTURE_IN_PICTURE: "leavepictureinpicture"; + readonly PRESENTATION_MODE_CHANGED: "webkitpresentationmodechanged"; +}; + +// @public (undocumented) +const _Http: { + protocol: string; + execute: (url: string, params: any, method?: string, headers?: Map, timeout?: number, ontimeout?: ((...args: any[]) => any) | undefined) => Promise; + jsonp: typeof jsonp; + convertHeadersToDictionary: (headerRow: string) => { + [header: string]: string; + }; +}; + +// @public (undocumented) +export interface ICapability { + // (undocumented) + getCapability(): Promise; + // (undocumented) + runCapability(): void; + // (undocumented) + setCapabilities(capabilities: { + [name: string]: any; + }): void; +} + +// @public (undocumented) +export interface IDrmProtocol { + // (undocumented) + canPlayDrm(drmData: Array): boolean; + // (undocumented) + isConfigured(drmData: Array, drmConfig: PKDrmConfigObject): boolean; + // (undocumented) + setDrmPlayback(...any: any[]): void; +} + +// @public (undocumented) +export interface IEngine extends FakeEventTarget { + // (undocumented) + addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack | undefined; + // (undocumented) + applyABRRestriction(restrictions: PKABRRestrictionObject): void; + // (undocumented) + attach(): void; + // (undocumented) + attachMediaSource(): void; + // (undocumented) + autoplay: boolean; + // (undocumented) + availableBuffer: number; + // (undocumented) + buffered: TimeRanges; + // (undocumented) + controls: boolean; + // (undocumented) + crossOrigin: string | null; + // (undocumented) + currentTime: number; + // (undocumented) + defaultMuted: boolean; + // (undocumented) + defaultPlaybackRate: number; + // (undocumented) + destroy(): void; + // (undocumented) + detach(): void; + // (undocumented) + detachMediaSource(): void; + // (undocumented) + duration: number; + // (undocumented) + enableAdaptiveBitrate(): void; + // (undocumented) + ended: boolean; + // (undocumented) + enterPictureInPicture(): void; + // (undocumented) + error: MediaError | null; + // (undocumented) + exitPictureInPicture(): void; + // (undocumented) + getDrmInfo(): PKDrmDataObject | null; + // (undocumented) + getNativeTextTracks(): TextTrack[]; + // (undocumented) + getStartTimeOfDvrWindow(): number; + // (undocumented) + getThumbnail(time: number): ThumbnailInfo | null; + // (undocumented) + getVideoElement(): HTMLVideoElement; + // (undocumented) + hideTextTrack(): void; + // (undocumented) + id: string; + // (undocumented) + isAdaptiveBitrateEnabled(): boolean; + // (undocumented) + isInPictureInPicture: boolean; + // (undocumented) + isLive(): boolean; + // (undocumented) + isOnLiveEdge(): boolean; + // (undocumented) + isPictureInPictureSupported(): boolean; + // (undocumented) + liveDuration: number; + // (undocumented) + load(startTime?: number): Promise<{ + tracks: Track[]; + }>; + // (undocumented) + loop: boolean; + // (undocumented) + muted: boolean; + // (undocumented) + networkState: number; + // (undocumented) + pause(): void; + // (undocumented) + paused: boolean; + // (undocumented) + play(): Promise | undefined; + // (undocumented) + playbackRate: number; + // (undocumented) + playbackRates: Array; + // (undocumented) + played: TimeRanges; + // (undocumented) + playsinline: boolean; + // (undocumented) + poster: string; + // (undocumented) + preload: "none" | "metadata" | "auto" | ""; + // (undocumented) + readyState: number; + // (undocumented) + reset(): void; + // (undocumented) + resetAllCues(): void; + // (undocumented) + restore(source: PKMediaSourceObject, config: Object): void; + // (undocumented) + seekable: TimeRanges; + // (undocumented) + seeking: boolean; + // (undocumented) + seekToLiveEdge(): void; + // (undocumented) + selectAudioTrack(audioTrack: AudioTrack): void; + // (undocumented) + selectImageTrack(imageTrack: ImageTrack): void; + // (undocumented) + selectTextTrack(textTrack: TextTrack_2): void; + // (undocumented) + selectVideoTrack(videoTrack: VideoTrack): void; + // (undocumented) + src: string; + // (undocumented) + targetBuffer: number; + // (undocumented) + videoHeight: number; + // (undocumented) + videoWidth: number; + // (undocumented) + volume: number; +} + +// @public (undocumented) +export interface IEngineDecorator { + // (undocumented) + active: boolean; + // (undocumented) + attach?: () => void; + // (undocumented) + attachMediaSource?: () => void; + // (undocumented) + autoplay?: boolean; + // (undocumented) + availableBuffer?: number; + // (undocumented) + buffered?: TimeRanges; + // (undocumented) + controls?: boolean; + // (undocumented) + crossOrigin?: string; + // (undocumented) + currentTime?: number; + // (undocumented) + defaultMuted?: boolean; + // (undocumented) + defaultPlaybackRate?: number; + // (undocumented) + destroy?: () => void; + // (undocumented) + detach?: () => void; + // (undocumented) + detachMediaSource?: () => void; + // (undocumented) + dispatchEvent(event: FakeEvent): boolean; + // (undocumented) + duration?: number; + // (undocumented) + enableAdaptiveBitrate?: () => void; + // (undocumented) + ended?: boolean; + // (undocumented) + enterPictureInPicture?: () => void; + // (undocumented) + error?: MediaError; + // (undocumented) + exitPictureInPicture?: () => void; + // (undocumented) + getStartTimeOfDvrWindow?: () => number; + // (undocumented) + getVideoElement?: () => HTMLVideoElement; + // (undocumented) + hideTextTrack?: () => void; + // (undocumented) + id?: string; + // (undocumented) + isAdaptiveBitrateEnabled?: () => boolean; + // (undocumented) + isInPictureInPicture?: boolean; + // (undocumented) + isLive?: () => boolean; + // (undocumented) + isPictureInPictureSupported?: () => boolean; + // (undocumented) + load?: (startTime?: number) => Promise; + // (undocumented) + loop?: boolean; + // (undocumented) + muted?: boolean; + // (undocumented) + networkState?: number; + // (undocumented) + pause?: () => void; + // (undocumented) + paused?: boolean; + // (undocumented) + play?: () => void; + // (undocumented) + playbackRate?: number; + // (undocumented) + playbackRates?: Array; + // (undocumented) + played?: TimeRanges; + // (undocumented) + playsinline?: boolean; + // (undocumented) + poster?: string; + // (undocumented) + preload?: string; + // (undocumented) + readyState?: number; + // (undocumented) + reset?: () => void; + // (undocumented) + resetAllCues?: () => void; + // (undocumented) + restore?: (source: PKMediaSourceObject, config: any) => void; + // (undocumented) + seekable?: TimeRanges; + // (undocumented) + seeking?: boolean; + // (undocumented) + seekToLiveEdge?: () => void; + // (undocumented) + selectAudioTrack?: (audioTrack: AudioTrack) => void; + // (undocumented) + selectTextTrack?: (textTrack: TextTrack_2) => void; + // (undocumented) + selectVideoTrack?: (videoTrack: VideoTrack) => void; + // (undocumented) + src?: string; + // (undocumented) + targetBuffer?: number; + // (undocumented) + videoHeight?: number; + // (undocumented) + videoWidth?: number; + // (undocumented) + volume?: number; +} + +// @public (undocumented) +export interface IEngineDecoratorProvider { + // (undocumented) + getEngineDecorator(engine: IEngine, dispatchEventHandler: Function): IEngineDecorator; + // (undocumented) + getName(): string; +} + +// @public (undocumented) +export interface IEngineStatic { + // (undocumented) + canPlaySource(source: PKMediaSourceObject, preferNative: boolean, drmConfig: PKDrmConfigObject): boolean; + // (undocumented) + createEngine(source: PKMediaSourceObject, config: Object, playerId: string): IEngine; + // (undocumented) + getCapabilities(): Promise; + // (undocumented) + id: string; + // (undocumented) + isSupported(): boolean; + // (undocumented) + prepareVideoElement(playerId: string): void; + // (undocumented) + runCapabilities(): void; + // (undocumented) + setCapabilities(capabilities: { + [name: string]: any; + }): void; +} + +// @public (undocumented) +export type ImageSourceOptions = { + thumbnailAPIParams: { + [parmaName: string]: string; + }; +}; + +// @public (undocumented) +export class ImageTrack extends Track { + constructor(settings: { + id: string; + active: boolean; + index: number; + url: string; + width: number; + height: number; + duration: number; + rows: number; + cols: number; + customData: any; + }); + // (undocumented) + get cols(): number; + // (undocumented) + get customData(): any; + // (undocumented) + get duration(): number; + // (undocumented) + get height(): number; + // (undocumented) + get rows(): number; + // (undocumented) + get sliceHeight(): number; + // (undocumented) + get sliceWidth(): number; + // (undocumented) + get url(): string; + // (undocumented) + get width(): number; +} + +// @public (undocumented) +export interface IMediaSourceAdapter extends FakeEventTarget { + // (undocumented) + applyABRRestriction(restriction: PKABRRestrictionObject): void; + // (undocumented) + attachMediaSource(): void; + // (undocumented) + capabilities: PKMediaSourceCapabilities; + // (undocumented) + destroy(): Promise; + // (undocumented) + detachMediaSource(): void; + // (undocumented) + disableNativeTextTracks(): void; + // (undocumented) + enableAdaptiveBitrate(): void; + // (undocumented) + getDrmInfo(): PKDrmDataObject | null; + // (undocumented) + getSegmentDuration(): number; + // (undocumented) + getStartTimeOfDvrWindow(): number; + // (undocumented) + getThumbnail(time: number): ThumbnailInfo | null; + // (undocumented) + handleMediaError(error?: MediaError): boolean; + // (undocumented) + hideTextTrack(): void; + // (undocumented) + isAdaptiveBitrateEnabled(): boolean; + // (undocumented) + isLive(): boolean; + // (undocumented) + isOnLiveEdge(): boolean; + // (undocumented) + liveDuration: number; + // (undocumented) + load(startTime?: number): Promise<{ + tracks: Track[]; + }>; + // (undocumented) + seekToLiveEdge(): void; + // (undocumented) + selectAudioTrack(audioTrack: AudioTrack): void; + // (undocumented) + selectImageTrack(imageTrack: ImageTrack): void; + // (undocumented) + selectTextTrack(textTrack: TextTrack_2): void; + // (undocumented) + selectVideoTrack(videoTrack: VideoTrack): void; + // (undocumented) + setMaxBitrate(bitrate: number): void; + // (undocumented) + src: string; + // (undocumented) + targetBuffer: number; +} + +// @public (undocumented) +export interface IMediaSourceAdapterStatic { + // (undocumented) + canPlayDrm(drmData: Array, drmConfig: PKDrmConfigObject): boolean; + // (undocumented) + canPlayType(mimeType: string): boolean; + // (undocumented) + createAdapter(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: Object): IMediaSourceAdapter; + // (undocumented) + id: string; + // (undocumented) + isMSESupported(): boolean; + // (undocumented) + isSupported(): boolean; +} + +// @public (undocumented) +function loadPlayer(config: any): Player; +export default loadPlayer; +export { loadPlayer } + +// @public (undocumented) +export type LoggerLevels = { + TRACE: ILogLevel; + TIME: ILogLevel; + ERROR: ILogLevel; + INFO: ILogLevel; + DEBUG: ILogLevel; + WARN: ILogLevel; + OFF: ILogLevel; +}; + +// @public (undocumented) +export const LogLevel: LoggerLevels; + +// @public (undocumented) +export const LogLevelType: Record; + +// @public (undocumented) +export type MaybeState = State | null; + +// @public (undocumented) +export const MediaType: { + readonly VOD: "Vod"; + readonly LIVE: "Live"; + readonly AUDIO: "Audio"; + readonly IMAGE: "Image"; + readonly UNKNOWN: "Unknown"; +}; + +// @public (undocumented) +const MimeType_2: PKMimeTypes; +export { MimeType_2 as MimeType } + +// @public +class MultiMap { + constructor(); + clear(): void; + get(key: K): Array; + getAll(): T[]; + has(key: K): boolean; + keys(): Iterator; + push(key: K, value: T): void; + remove(key: K, value: T): void; + set(key: K, values: T[]): void; +} + +// @public (undocumented) +export const NAME: string; + +// @public (undocumented) +const _Number: { + isNumber: (n: number) => boolean; + isInt: (n: number) => boolean; + isFloat: (n: number) => boolean; +}; + +// @public (undocumented) +const _Object: { + merge: (objects: Array) => any; + isObject: (item: any) => boolean; + isClassInstance: (item: any) => boolean; + mergeDeep: (target: any, ...sources: any) => any; + copyDeep: (data: any) => any; + isEmptyObject: (obj: object) => boolean; + getPropertyPath: (obj: object, propertyPath: string) => any; + hasPropertyPath: (obj: object, propertyPath: string) => boolean; + createPropertyPath: (obj: object, path: string, value?: any) => any; + deletePropertyPath: (obj: object, path: string) => void; + defer: () => DeferredPromise; + bind: (thisObj: any, fn: (...args: any[]) => any) => (...args: any[]) => any; +}; + +// @public (undocumented) +export type PKAbrConfigObject = { + fpsDroppedMonitoringThreshold: number; + fpsDroppedFramesInterval: number; + capLevelOnFPSDrop: boolean; +}; + +// @public (undocumented) +export type PKABRRestrictionObject = { + minHeight: number; + maxHeight: number; + minWidth: number; + maxWidth: number; + minBitrate: number; + maxBitrate: number; +}; + +// @public (undocumented) +export type PKAdBreakOptions = { + type?: string; + position?: number; + numAds?: number; +}; + +// @public (undocumented) +export type PKAdOptions = { + system?: string; + url?: string; + contentType?: string; + title?: string; + position?: number; + duration?: number; + clickThroughUrl?: string; + posterUrl?: string; + skipOffset?: number; + linear: boolean; + width: number; + height: number; + bitrate: number; + bumper: boolean; + inStream?: boolean; + vpaid?: boolean; + streamId?: string; + wrapperAdIds: Array; + wrapperCreativeIds: Array; + wrapperAdSystems: Array; +}; + +// @public (undocumented) +export type PKCustomLabelsConfigObject = { + audio: Function; + qualities: Function; + video: Function; +}; + +// @public (undocumented) +export type PKDimensionsConfig = { + width: number; + height: number; + ratio?: string; +}; + +// @public (undocumented) +export type PKDrmConfigObject = { + keySystem: string; +}; + +// @public (undocumented) +export type PKDrmDataObject = { + licenseUrl: string; + scheme: string; + certificate?: string; +}; + +// @public (undocumented) +export type PKEventTypes = typeof Html5EventType & typeof CustomEventType & typeof AdEventType; + +// @public (undocumented) +export type PKExternalThumbnailsConfig = { + vttUrl: string; +}; + +// @public (undocumented) +export type PKLogConfigObject = { + level: string; + handler?: ILogHandler; +}; + +// @public (undocumented) +export type PKMediaSourceCapabilities = { + [fpsControl: string]: boolean; +}; + +// @public (undocumented) +export type PKMediaSourceObject = { + mimetype: string; + url: string; + id?: string; + bandwidth: number; + width: number; + height: number; + drmData?: Array; +}; + +// @public (undocumented) +export type PKMediaSourceOptionsObject = { + forceRedirectExternalStreams: boolean; + redirectExternalStreamsHandler?: Function; + redirectExternalStreamsTimeout?: number; +}; + +// @public (undocumented) +export type PKMetadataConfigObject = { + name?: string; + description?: string; + mediaType?: string; + metas?: Object; + tags?: Object; + epgId?: string; + recordingId?: string; +}; + +// @public (undocumented) +export type PKMimeTypes = { + [mime: string]: Array; +}; + +// @public (undocumented) +export type PKNetworkConfigObject = { + requestFilter?: Function; + responseFilter?: Function; + maxStaleLevelReloads: number; +}; + +// @public (undocumented) +export type PKOrientationType = { + [type: string]: string; +}; + +// @public (undocumented) +export type PKPlaybackConfigObject = { + audioLanguage: string; + textLanguage: string; + captionsDisplay: boolean; + additionalAudioLanguage: string; + additionalTextLanguage: string; + volume: number; + playsinline: boolean; + crossOrigin: string; + preload: string; + autoplay: PKAutoPlayTypes; + allowMutedAutoPlay: boolean; + muted: boolean; + pictureInPicture: boolean; + streamPriority: Array; + preferNative: PKPreferNativeConfigObject; + inBrowserFullscreen: boolean; + playAdsWithMSE: boolean; + screenLockOrientionMode: string; +}; + +// @public (undocumented) +export type PKPlaybackOptionsObject = { + html5: { + hls: Object; + dash: Object; + }; +}; + +// @public (undocumented) +export type PKPlayerDimensions = { + width: number; + height: number; +}; + +// @public (undocumented) +export type PKPlayOptionsObject = { + programmatic: boolean; +}; + +// @public (undocumented) +export type PKPreferNativeConfigObject = { + hls: boolean; + dash: boolean; +}; + +// @public (undocumented) +export type PKRequestObject = { + url: string; + body: ArrayBuffer | ArrayBufferView | string | null; + headers: { + [header: string]: string; + }; +}; + +// @public (undocumented) +export type PKRequestType = { + [request: string]: number; +}; + +// @public (undocumented) +export type PKResponseObject = { + url: string; + originalUrl: string; + data: ArrayBuffer | ArrayBufferView; + headers: { + [header: string]: string; + }; +}; + +// @public (undocumented) +export type PKSessionConfigObject = { + id?: string; + ks?: string; + isAnonymous?: boolean; + partnerId?: number; + uiConfId?: number; +}; + +// @public (undocumented) +export type PKSourcesConfigObject = { + hls: Array; + dash: Array; + progressive: Array; + image: Array; + captions?: Array; + thumbnails?: PKExternalThumbnailsConfig; + options: PKMediaSourceOptionsObject; + type: string; + dvr: boolean; + metadata: PKMetadataConfigObject; + id?: string; + poster?: string; + duration?: number; + startTime?: number; + vr?: any; + imageSourceOptions?: ImageSourceOptions; + seekFrom?: number; + clipTo?: number; +}; + +// @public (undocumented) +export type PKStatsObject = { + targetBuffer: number; + availableBuffer: number; +}; + +// @public (undocumented) +export type PKStreamingConfigObject = { + forceBreakStall: boolean; + lowLatencyMode: boolean; + trackEmsgEvents: boolean; + switchDynamicToStatic: boolean; +}; + +// @public (undocumented) +export type PKStreamPriorityObject = { + engine: string; + format: string; +}; + +// @public (undocumented) +export type PKStreamTypes = Record<'DASH' | 'HLS' | 'PROGRESSIVE' | 'IMAGE', PlayerStreamTypes>; + +// @public (undocumented) +export interface PKTextConfigObject { + // (undocumented) + captionsTextTrack1Label: string; + // (undocumented) + captionsTextTrack1LanguageCode: string; + // (undocumented) + captionsTextTrack2Label: string; + // (undocumented) + captionsTextTrack2LanguageCode: string; + // (undocumented) + enableCEA708Captions: boolean; + // (undocumented) + forceCenter: boolean; + // (undocumented) + textStyle: PKTextStyleObject; + // (undocumented) + textTrackDisplaySetting: PKTextTrackDisplaySettingObject; + // (undocumented) + useNativeTextTrack: boolean; + // (undocumented) + useShakaTextTrackDisplay: boolean; +} + +// @public +export type PKTextStyleObject = { + fontSize: FontSizeOptions; + fontScale: FontScaleOptions; + fontFamily: string; + fontColor: [number, number, number]; + fontOpacity: number; + fontEdge: Array<[number, number, number, number, number, number]>; + backgroundColor: [number, number, number]; + backgroundOpacity: number; +}; + +// @public (undocumented) +export interface PKTextTrackCue extends TextTrackCue { + // (undocumented) + type?: string; + // (undocumented) + value: { + key: string; + data: string | any; + }; +} + +// @public (undocumented) +export type PKTextTrackDisplaySettingObject = { + line: string | number; + lineAlign: string; + align: string; + position: number; + positionAlign: string; + snapToLines: boolean; + vertical: string; + size: number; +}; + +// @public (undocumented) +export type PKThumbnailVttCue = { + startTime: number; + endTime: number; + imgUrl: string; + coordinates: { + x: number; + y: number; + } | null; + size: { + height: number; + width: number; + } | null; +}; + +// @public (undocumented) +export type PKTrackTypes = { + [track: string]: string; +}; + +// @public (undocumented) +export type PKVideoDimensionsObject = { + videoHeight: number; + videoWidth: number; +}; + +// @public (undocumented) +export type PKVideoElementStore = { + [id: string]: HTMLVideoElement; +} | {}; + +// @public +export class Player extends FakeEventTarget { + constructor(config?: any); + get AbrMode(): typeof AbrMode; + get AdBreakType(): typeof AdBreakType; + addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack | undefined; + get AdTagType(): typeof AdTagType; + attachMediaSource(): void; + get buffered(): TimeRanges | null; + get config(): any; + configure(config?: any): void; + get CorsType(): typeof CorsType; + set crossOrigin(crossOrigin: string); + get crossOrigin(): string | null; + set currentTime(to: number); + get currentTime(): number | null; + // (undocumented) + static get _defaultConfig(): any; + get defaultPlaybackRate(): number; + destroy(): void; + detachMediaSource(): void; + set dimensions(dimensions: PKDimensionsConfig); + get dimensions(): PKPlayerDimensions; + get duration(): number | null; + enableAdaptiveBitrate(): void; + get ended(): boolean | null; + get EngineType(): typeof EngineType; + get engineType(): string; + enterFullscreen(elementId?: string): void; + enterPictureInPicture(): void; + get env(): IEnv; + get Error(): typeof Error_2; + get Event(): PKEventTypes; + exitFullscreen(): void; + exitPictureInPicture(): void; + getActiveTracks(): { + video: VideoTrack; + audio: AudioTrack; + text: TextTrack_2; + }; + static getCapabilities(engineType?: string): Promise<{ + [name: string]: any; + }>; + // (undocumented) + getDrmInfo(): PKDrmDataObject | null; + getLogLevel(name?: string): ILogLevel; + getNativeTextTracks(): Array; + getStartTimeOfDvrWindow(): number; + _getTextTracks(): Array; + getThumbnail(time: number): ThumbnailInfo | null; + getTracks(type?: TrackTypes): T[]; + // (undocumented) + getVideoElement(): HTMLVideoElement | undefined; + getView(): HTMLElement; + get hasUserInteracted(): boolean; + hideBlackCover(): void; + hideTextTrack(): void; + isAdaptiveBitrateEnabled(): boolean; + isAudio(): boolean; + isDvr(): boolean; + // (undocumented) + isFullscreen(): boolean; + isInPictureInPicture(): boolean; + isLive(): boolean; + isOnLiveEdge(): boolean; + isPictureInPictureSupported(): boolean; + isVr(): boolean; + get liveDuration(): number | null; + load(): void; + set loadingMedia(loading: boolean); + static _logger: ILogger; + get LogLevel(): LoggerLevels; + get LogLevelType(): Record; + get MediaType(): typeof MediaType; + set muted(mute: boolean); + get muted(): boolean | null; + notifyEnterFullscreen(): void; + notifyExitFullscreen(): void; + _onTracksChanged(event: FakeEvent): void; + pause(): void; + get paused(): boolean | null; + play(playOptions?: PKPlayOptionsObject): void; + // Warning: (ae-forgotten-export) The symbol "PlaybackMiddleware" needs to be exported by the entry point playkit.d.ts + get playbackMiddleware(): PlaybackMiddleware; + set playbackRate(rate: number); + get playbackRate(): number | null; + get playbackRates(): Array; + set playsinline(playsinline: boolean); + get playsinline(): boolean | null; + get poster(): string; + // Warning: (ae-forgotten-export) The symbol "PosterManager" needs to be exported by the entry point playkit.d.ts + get posterManager(): PosterManager; + ready(): Promise; + registerEngineDecoratorProvider(engineDecoratorProvider: IEngineDecoratorProvider): void; + reset(isChangeMedia?: boolean): void; + static runCapabilities(): void; + get seeking(): boolean | null; + seekToLiveEdge(): void; + selectTrack(track?: Track): void; + static setCapabilities(engineType: string, capabilities: { + [name: string]: any; + }): void; + setLogLevel(level: ILogLevel, name?: string): void; + setSources(sources: PKSourcesConfigObject): void; + setSourcesMetadata(sourcesMetadata: PKMetadataConfigObject): void; + setTextDisplaySettings(settings: PKTextTrackDisplaySettingObject): void; + showBlackCover(): void; + showTextTrack(): void; + get sources(): PKSourcesConfigObject; + get src(): string | null; + get State(): typeof StateType; + // (undocumented) + get stats(): PKStatsObject; + get StreamType(): typeof StreamType; + get streamType(): string; + // (undocumented) + get textDisplaySetting(): any; + get TextStyle(): typeof TextStyle; + set textStyle(style: TextStyle); + get textStyle(): TextStyle; + get Track(): typeof TrackType; + _updateTracks(tracks: Array): void; + get videoHeight(): number | null; + get videoWidth(): number | null; + set volume(vol: number); + get volume(): number | null; +} + +// @public (undocumented) +export type PlayerStreamTypes = 'dash' | 'hls' | 'progressive' | 'image'; + +// Warning: (ae-forgotten-export) The symbol "EngineProvider" needs to be exported by the entry point playkit.d.ts +// +// @public (undocumented) +export const registerEngine: typeof EngineProvider.register; + +// Warning: (ae-forgotten-export) The symbol "MediaSourceProvider" needs to be exported by the entry point playkit.d.ts +// +// @public (undocumented) +export const registerMediaSourceAdapter: typeof MediaSourceProvider.register; + +// @public (undocumented) +export const RequestType: PKRequestType; + +// @public +class ResizeWatcher extends FakeEventTarget { + constructor(); + destroy(): void; + init(el: HTMLElement): void; +} + +// @public (undocumented) +export const ScreenOrientationType: PKOrientationType; + +// @public (undocumented) +export const setCapabilities: typeof Player.setCapabilities; + +// @public +export function setLogHandler(handler: ILogHandler): void; + +// @public +export function setLogLevel(level: ILogLevel, name?: string): void; + +// @public +export class State { + constructor(type: string); + get duration(): number; + set duration(endTime: number); + type: string; +} + +// @public (undocumented) +export type StateChanged = { + oldState: MaybeState; + newState: MaybeState; +}; + +// @public (undocumented) +export const StateType: { + readonly IDLE: "idle"; + readonly LOADING: "loading"; + readonly PLAYING: "playing"; + readonly PAUSED: "paused"; + readonly BUFFERING: "buffering"; +}; + +// @public (undocumented) +export const StreamType: { + readonly DASH: "dash"; + readonly HLS: "hls"; + readonly PROGRESSIVE: "progressive"; + readonly IMAGE: "image"; +}; + +// @public (undocumented) +const _String: { + capitlize: (string: string) => string; + endsWith: (string: string, searchString: string) => boolean; +}; + +// @public +export class TextStyle { + backgroundColor: [number, number, number]; + backgroundOpacity: number; + clone(): TextStyle; + static EdgeStyles: { + [edgeStyle: string]: Array<[number, number, number, number, number, number]>; + }; + fontColor: [number, number, number]; + fontEdge: Array<[number, number, number, number, number, number]>; + static FontFamily: { + [font: string]: string; + }; + fontFamily: string; + fontOpacity: number; + set fontScale(fontScale: number); + get fontScale(): FontScaleOptions; + set fontSize(fontSize: string); + get fontSize(): FontSizeOptions; + static FontSizes: { + label: FontSizeOptions; + value: FontScaleOptions; + }[]; + // (undocumented) + static fromJson(setting: PKTextStyleObject): TextStyle; + // (undocumented) + getTextShadow(): string; + // (undocumented) + get implicitFontScale(): number; + isEqual(textStyle: TextStyle): boolean; + static StandardColors: { + [coloer: string]: [number, number, number]; + }; + static StandardOpacities: { + [opacityLevel: string]: number; + }; + toCSS(): string; + // (undocumented) + static toJson(text: TextStyle): PKTextStyleObject; + static toRGBA(color: [number, number, number], opacity: number): string; +} + +// @public (undocumented) +class TextTrack_2 extends Track { + // Warning: (ae-forgotten-export) The symbol "TrackSettings" needs to be exported by the entry point playkit.d.ts + constructor(settings?: TrackSettings); + // (undocumented) + get default(): boolean; + // (undocumented) + get external(): boolean; + // (undocumented) + static EXTERNAL_TRACK_ID: string; + // (undocumented) + static _generateIndex(): number; + // (undocumented) + static isExternalTrack(track: any): boolean; + // (undocumented) + static isMetaDataTrack(track: any): boolean; + // (undocumented) + static isNativeTextTrack(track: any): boolean; + // (undocumented) + static KIND: Record<'METADATA' | 'SUBTITLES' | 'CAPTIONS', TextTrackKind>; + // (undocumented) + get kind(): string; + // (undocumented) + static MODE: Record<'DISABLED' | 'SHOWING' | 'HIDDEN', TextTrackMode>; + // (undocumented) + get mode(): string | undefined; + set mode(mode: string); + // (undocumented) + static reset(): void; +} +export { TextTrack_2 as PKTextTrack } +export { TextTrack_2 as TextTrack } + +// @public (undocumented) +export class ThumbnailInfo { + constructor(info: { + url: string; + width: number; + height: number; + x: number; + y: number; + }); + // (undocumented) + get height(): number; + // (undocumented) + get url(): string; + // (undocumented) + get width(): number; + // (undocumented) + get x(): number; + // (undocumented) + get y(): number; +} + +// @public (undocumented) +export class TimedMetadata { + constructor(startTime: number, endTime: number, id: string, type: string, metadata: any); + // (undocumented) + endTime: number; + // (undocumented) + id: string; + // (undocumented) + metadata: string | any; + // (undocumented) + startTime: number; + // (undocumented) + static TYPE: { + [type: string]: string; + }; + // (undocumented) + type: string; +} + +// @public +export class Track { + constructor(settings?: any); + get active(): boolean; + set active(value: boolean); + get available(): boolean; + set available(isAvailable: boolean); + // (undocumented) + static clone(track: any): T; + clone: (...args: any[]) => any; + get id(): number; + get index(): number; + set index(value: number); + protected _index: number; + get label(): string | undefined; + set label(value: string); + protected _label: string | undefined; + static langComparer(inputLang: string, trackLang: string, additionalLanguage?: string, equal?: boolean): boolean; + get language(): string; +} + +// @public (undocumented) +export const TrackType: { + readonly VIDEO: "video"; + readonly AUDIO: "audio"; + readonly TEXT: "text"; + readonly IMAGE: "image"; +}; + +// @public (undocumented) +export type TrackTypes = 'video' | 'audio' | 'text' | 'image'; + +// @public (undocumented) +export type Transition = { + [state: string]: { + [event: string]: Function; + }; +}; + +// @public (undocumented) +export const unRegisterEngine: typeof EngineProvider.unRegister; + +declare namespace Utils { + export { + ResizeWatcher, + MultiMap, + binarySearch, + _Number as Number, + _String as String, + _Object as Object, + _Generator as Generator, + _Dom as Dom, + _Http as Http, + _VERSION as VERSION + } +} +export { Utils } +export { Utils as utils } + +// @public (undocumented) +export const VERSION: string; + +// @public (undocumented) +const _VERSION: { + compare: (v1: string, v2: string, options?: any) => number; +}; + +// @public +export class VideoTrack extends Track { + constructor(settings?: any); + // (undocumented) + get bandwidth(): number; + // (undocumented) + get height(): number; + // (undocumented) + get width(): number; +} + + +export * from "js-logger"; + +// Warnings were encountered during analysis: +// +// src/types/sources-config.ts:13:3 - (ae-forgotten-export) The symbol "PKExternalCaptionObject" needs to be exported by the entry point playkit.d.ts +// src/utils/util.ts:504:4 - (ae-forgotten-export) The symbol "jsonp" needs to be exported by the entry point playkit.d.ts + +// (No @packageDocumentation comment for this package) + +``` diff --git a/demo/index.html b/demo/index.html new file mode 100644 index 000000000..e9c191c74 --- /dev/null +++ b/demo/index.html @@ -0,0 +1,18 @@ + + + + + Title + + + + +
+ + diff --git a/karma.conf.js b/karma.conf.js index 2376b866d..f33c0c4fe 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,53 +1,54 @@ -// Create custom launcher in case running with Travis - -const launchers = { - Chrome_browser: { - base: 'ChromeHeadless', - flags: ['--no-sandbox', '--autoplay-policy=no-user-gesture-required', '--max-web-media-player-count=1000'] - } -}; +const webpackConfig = require('./webpack.config')( null, {mode: 'development'}); +delete webpackConfig.entry; +delete webpackConfig.externals; +delete webpackConfig.output; +delete webpackConfig.devServer; +webpackConfig.devtool = 'inline-source-map'; module.exports = function (config) { - let karmaConf = { - logLevel: config.LOG_INFO, - browserDisconnectTimeout: 30000, + config.set({ + frameworks: ['webpack', 'mocha'], + browserDisconnectTimeout: 60000, browserNoActivityTimeout: 60000, - browsers: [], - concurrency: 1, - singleRun: true, - colors: true, - frameworks: ['mocha'], files: [ - 'node_modules/regenerator-runtime/runtime.js', - 'test/setup/karma.js', + 'tests/index.js', { - pattern: 'test/src/assets/*', + pattern: 'tests/assets/**/*', included: false - } + }, ], + exclude: [], preprocessors: { - 'src/**/*.js': ['webpack', 'sourcemap'], - 'test/setup/karma.js': ['webpack', 'sourcemap'] + 'tests/index.js': ['webpack', 'sourcemap'] }, - reporters: ['mocha', 'coverage'], - webpack: { - ...require('./webpack.config.js'), - externals: {}, //Need to remove externals otherwise they won't be included in test. - devtool: 'inline-source-map', // Need to define inline source maps when using karma - mode: config.mode || 'development' // run in development mode by default to avoid minifying -> faster + reporters: ['mocha'], + mochaReporter: { + showDiff: true, }, - webpackServer: { - noInfo: true + + coverageIstanbulReporter: { + reports: ['lcov', 'text-summary'], + fixWebpackSourcePaths: true }, + webpack: webpackConfig, + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: false, + customLaunchers: { + ChromeHeadlessWithFlags: { + base: 'ChromeHeadless', + flags: ['--no-sandbox', '--autoplay-policy=no-user-gesture-required', '--mute-audio', '--max-web-media-player-count=1000'] + } + }, + browsers: ['ChromeHeadlessWithFlags'], + singleRun: true, + concurrency: Infinity, client: { mocha: { reporter: 'html', timeout: 50000 } } - }; - - karmaConf.customLaunchers = launchers; - karmaConf.browsers = ['Chrome_browser']; - config.set(karmaConf); + }); }; diff --git a/package.json b/package.json index 152100e78..bd722457d 100644 --- a/package.json +++ b/package.json @@ -1,114 +1,98 @@ { "name": "@playkit-js/playkit-js", "version": "0.84.1", - "main": "dist/playkit.js", - "scripts": { - "clean": "rm -rf ./dist", - "prebuild": "npm run clean", - "build": "webpack --mode production", - "dev": "webpack-dev-server --mode development", - "watch": "webpack --progress --colors --watch --mode development", - "test": "NODE_ENV=test karma start --color --mode development", - "test:watch": "NODE_ENV=test karma start --browsers=Chrome --single-run=false --auto-watch", - "release": "standard-version", - "pushTaggedRelease": "git push --follow-tags --no-verify origin master", - "eslint": "eslint . --color", - "flow": "flow check", - "commit:dist": "git add --force --all dist && (git commit -m 'chore: update dist' || exit 0)", - "precommit": "lint-staged", - "docs:generate": "documentation build flow-typed/** src/** -f md -o docs/api.md", - "docs:serve": "documentation serve flow-typed/** src/** --watch", - "prettier:fix": "prettier --write ." + "keywords": [ + "kaltura", + "player", + "html5 player" + ], + "homepage": "https://github.com/kaltura/playkit-js", + "bugs": { + "url": "https://github.com/kaltura/playkit-js/issues" }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } + "repository": { + "type": "git", + "url": "https://github.com/kaltura/playkit-js" }, - "lint-staged": { - "*.{js,jsx}": [ - "eslint --fix", - "git add" - ], - "*.{json,md,scss}": [ - "prettier --write", - "git add" - ] + "license": "AGPL-3.0", + "main": "./dist/playkit.js", + "types": "./dist/playkit-js.d.ts", + "files": [ + "dist/**/*", + "src/**/*", + "flow-typed/**/*" + ], + "scripts": { + "serve": "yarn run build:dev && webpack serve --open --mode development", + "watch": "webpack --watch --mode development", + "build:dev": "webpack --mode development", + "build:prod": "webpack --mode production", + "build": "yarn run build:prod && yarn run build:types", + "build:types": "tsc --build tsconfig-lib.json && mkdir -p lib && api-extractor run --local --diagnostics", + "type-check": "tsc --noEmit", + "type-check:watch": "npm run type-check -- --watch", + "test": "karma start karma.conf.js", + "test:debug": "DEBUG_UNIT_TESTS=1 karma start karma.conf.js --auto-watch --no-single-run --browsers Chrome", + "test:watch": "karma start karma.conf.js --auto-watch --no-single-run", + "lint": "eslint src/ --ext .js --ext .ts", + "lint:fix": "yarn run lint -- --fix", + "prettier": "prettier --write .", + "clean": "rm -rf dist/*", + "precommit": "npm run build:prod && npm run type-check && npm run lint:fix", + "release": "standard-version", + "pushTaggedRelease": "git push --follow-tags --no-verify origin master" }, "publishConfig": { "access": "public" }, "dependencies": { "js-logger": "^1.6.0", - "ua-parser-js": "1.0.2" + "ua-parser-js": "^1.0.36" }, "devDependencies": { - "@babel/cli": "^7.10.5", - "@babel/core": "^7.10.5", - "@babel/plugin-proposal-class-properties": "^7.10.4", - "@babel/plugin-transform-flow-strip-types": "^7.10.4", - "@babel/preset-env": "^7.10.4", - "@babel/preset-flow": "^7.10.4", - "@babel/register": "^7.10.5", - "regenerator-runtime": "^0.13.5", - "babel-eslint": "^10.1.0", - "babel-loader": "^8.1.0", - "babel-plugin-istanbul": "^6.0.0", - "chai": "^4.2.0", + "@babel/core": "^7.22.20", + "@babel/plugin-transform-runtime": "^7.22.15", + "@babel/preset-env": "^7.22.20", + "@babel/preset-typescript": "^7.22.15", + "@babel/runtime": "^7.23.1", + "@microsoft/api-extractor": "^7.38.0", + "@types/chai": "^4.3.3", + "@types/mocha": "^9.1.1", + "@types/sinon": "^10.0.20", + "@types/ua-parser-js": "^0.7.38", + "@typescript-eslint/eslint-plugin": "^6.7.2", + "@typescript-eslint/parser": "^6.7.2", + "babel-loader": "^9.1.3", + "chai": "^4.3.6", "chai-as-promised": "^7.1.1", - "conventional-github-releaser": "3.1.3", - "cross-env": "^7.0.2", - "css-loader": "^3.6.0", - "documentation": "^13.0.2", - "eslint": "^7.5.0", - "eslint-config-prettier": "^6.11.0", - "eslint-loader": "^4.0.2", - "eslint-plugin-flowtype": "^5.2.0", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-mocha-no-only": "^1.1.1", - "eslint-plugin-prettier": "^3.1.4", - "flow-bin": "^0.129.0", - "husky": "^4.2.5", - "istanbul": "^0.4.5", - "karma": "^5.1.0", - "karma-chai": "^0.1.0", - "karma-chrome-launcher": "^3.1.0", - "karma-cli": "^2.0.0", - "karma-coverage": "^2.0.2", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "6.8.1", + "eslint": "^8.56.0", + "eslint-plugin-mocha": "^10.2.0", + "karma": "^6.4.0", + "karma-chrome-launcher": "^3.1.1", "karma-firefox-launcher": "^1.3.0", - "karma-ie-launcher": "^1.0.0", + "karma-safari-launcher": "^1.0.0", "karma-mocha": "^2.0.1", "karma-mocha-reporter": "^2.2.5", - "karma-safari-launcher": "^1.0.0", - "karma-sourcemap-loader": "^0.3.7", - "karma-webpack": "^4.0.2", - "lint-staged": "^10.2.11", - "mocha": "^8.0.1", - "mocha-cli": "^1.0.1", - "prettier": "^2.0.5", - "sinon": "^9.0.2", - "sinon-chai": "^3.5.0", - "standard-version": "^6.0.1", - "style-loader": "^1.2.1", - "uglifyjs-webpack-plugin": "^2.2.0", - "webpack": "^4.43.0", - "webpack-cli": "^3.3.12", - "webpack-dev-server": "^3.11.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/kaltura/playkit-js" + "karma-sourcemap-loader": "^0.3.8", + "karma-webpack": "^5.0.0", + "mocha": "^10.0.0", + "prettier": "^3.0.3", + "sinon": "^14.0.0", + "sinon-chai": "latest", + "standard-version": "^9.5.0", + "style-loader": "3.3.3", + "terser-webpack-plugin": "^5.3.9", + "typescript": "^5.2.2", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^4.15.1", + "@playkit-js/browserslist-config": "^1.0.5" }, - "keywords": [ - "kaltura", - "player", - "html5 player" + "browserslist": [ + "extends @playkit-js/browserslist-config" ], - "license": "AGPL-3.0", - "bugs": { - "url": "https://github.com/kaltura/playkit-js/issues" - }, - "homepage": "https://github.com/kaltura/playkit-js", "kcc": { "name": "playkit" } diff --git a/src/ads/ad-break-type.js b/src/ads/ad-break-type.ts similarity index 51% rename from src/ads/ad-break-type.js rename to src/ads/ad-break-type.ts index e5db802e9..428e8f46d 100644 --- a/src/ads/ad-break-type.js +++ b/src/ads/ad-break-type.ts @@ -1,9 +1,6 @@ -// @flow -const AdBreakType: PKAdBreakTypes = { +export const AdBreakType = { PRE: 'preroll', MID: 'midroll', POST: 'postroll', OVERLAY: 'overlay' -}; - -export {AdBreakType}; +} as const; diff --git a/src/ads/ad-error-code.js b/src/ads/ad-error-code.ts similarity index 99% rename from src/ads/ad-error-code.js rename to src/ads/ad-error-code.ts index af2d3d226..7a4e6993e 100644 --- a/src/ads/ad-error-code.js +++ b/src/ads/ad-error-code.ts @@ -1,4 +1,3 @@ -// @flow const AdErrorCode: {[code: string]: number} = { /** * VAST supplied in adm is not a valid XML document. diff --git a/src/ads/ad-event-type.js b/src/ads/ad-event-type.ts similarity index 98% rename from src/ads/ad-event-type.js rename to src/ads/ad-event-type.ts index 7096016d6..ad6e3ab99 100644 --- a/src/ads/ad-event-type.js +++ b/src/ads/ad-event-type.ts @@ -1,5 +1,4 @@ -// @flow -const AdEventType: PKEventTypes = { +const AdEventType = { /** * Fired when the ad can be skip by the user. */ @@ -100,6 +99,6 @@ const AdEventType: PKEventTypes = { * Fires when browser fails to autoplay an ad. */ AD_AUTOPLAY_FAILED: 'adautoplayfailed' -}; +} as const; export {AdEventType}; diff --git a/src/ads/ad-tag-type.js b/src/ads/ad-tag-type.js deleted file mode 100644 index 84d66cb7d..000000000 --- a/src/ads/ad-tag-type.js +++ /dev/null @@ -1,7 +0,0 @@ -// @flow -const AdTagType: {[type: string]: string} = { - VAST: 'vast', - VMAP: 'vmap' -}; - -export {AdTagType}; diff --git a/src/ads/ad-tag-type.ts b/src/ads/ad-tag-type.ts new file mode 100644 index 000000000..ad36283e1 --- /dev/null +++ b/src/ads/ad-tag-type.ts @@ -0,0 +1,4 @@ +export const AdTagType = { + VAST: 'vast', + VMAP: 'vmap' +} as const; diff --git a/src/drm/drm-scheme.js b/src/drm/drm-scheme.ts similarity index 93% rename from src/drm/drm-scheme.js rename to src/drm/drm-scheme.ts index 31ed4fb67..1c3196e44 100644 --- a/src/drm/drm-scheme.js +++ b/src/drm/drm-scheme.ts @@ -1,4 +1,3 @@ -// @flow export const DrmScheme = { WIDEVINE: 'com.widevine.alpha', PLAYREADY: 'com.microsoft.playready', diff --git a/src/drm/fairplay.js b/src/drm/fairplay.ts similarity index 66% rename from src/drm/fairplay.js rename to src/drm/fairplay.ts index 2e1d7ff9a..3c4c59161 100644 --- a/src/drm/fairplay.js +++ b/src/drm/fairplay.ts @@ -1,18 +1,19 @@ -// @flow -import type {FairPlayDrmConfigType} from '../engines/html5/media-source/adapters/fairplay-drm-handler'; -import getLogger from '../utils/logger'; +import {FairPlayDrmConfigType} from '../engines/html5/media-source/adapters/fairplay-drm-handler'; import {DrmScheme} from './drm-scheme'; +import {PKDrmConfigObject, PKDrmDataObject} from '../types'; +import {ILogger} from 'js-logger'; +import getLogger from '../utils/logger'; -const _logger = getLogger('FairPlay'); +const _logger: ILogger = getLogger('FairPlay'); -const FairPlay: IDrmProtocol = class FairPlay { +class FairPlay { /** * FairPlay is the configure key system. * @param {Array} drmData - The drm data. * @param {PKDrmConfigObject} drmConfig - The drm config. * @return {boolean} - Whether FairPlay is the configure key system. */ - static isConfigured(drmData: Array, drmConfig: PKDrmConfigObject): boolean { + public static isConfigured(drmData: Array, drmConfig: PKDrmConfigObject): boolean { return DrmScheme.FAIRPLAY === drmConfig.keySystem && !!drmData.find(drmEntry => drmEntry.scheme === drmConfig.keySystem); } @@ -23,7 +24,9 @@ const FairPlay: IDrmProtocol = class FairPlay { * @param {Array} drmData - The drm data to check. * @return {boolean} - Whether FairPlay can be play on the current environment. */ - static canPlayDrm(drmData: Array): boolean { + public static canPlayDrm(drmData: Array): boolean { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore const result = drmData.some(drmEntry => drmEntry.scheme === DrmScheme.FAIRPLAY) && !!window.WebKitMediaKeys; _logger.debug(`Can play DRM scheme of: ${DrmScheme.FAIRPLAY} is ${result.toString()}`); return result; @@ -35,14 +38,14 @@ const FairPlay: IDrmProtocol = class FairPlay { * @param {Array} drmData - The drm data. * @returns {void} */ - static setDrmPlayback(config: FairPlayDrmConfigType, drmData: Array): void { + public static setDrmPlayback(config: FairPlayDrmConfigType, drmData: Array): void { _logger.debug('Sets drm playback'); - let drmEntry = drmData.find(drmEntry => drmEntry.scheme === DrmScheme.FAIRPLAY); + const drmEntry = drmData.find(drmEntry => drmEntry.scheme === DrmScheme.FAIRPLAY); if (drmEntry) { config.licenseUrl = drmEntry.licenseUrl; config.certificate = drmEntry.certificate; } } -}; +} export default FairPlay; diff --git a/src/engines/dropped-frames-watcher.js b/src/engines/dropped-frames-watcher.ts similarity index 75% rename from src/engines/dropped-frames-watcher.js rename to src/engines/dropped-frames-watcher.ts index 49ef0038b..3ca575315 100644 --- a/src/engines/dropped-frames-watcher.js +++ b/src/engines/dropped-frames-watcher.ts @@ -1,23 +1,24 @@ -// @flow -import FakeEventTarget from '../event/fake-event-target'; +import { FakeEventTarget } from '../event/fake-event-target'; import getLogger from '../utils/logger'; import {CustomEventType} from '../event/event-type'; -import EventManager from '../event/event-manager'; -import FakeEvent from '../event/fake-event'; +import { EventManager } from '../event/event-manager'; +import { FakeEvent } from '../event/fake-event'; +import {IMediaSourceAdapter} from '../types'; +import {PKAbrConfigObject} from '../types'; const NOT_SUPPORTED: number = -1; class DroppedFramesWatcher extends FakeEventTarget { - _droppedFramesInterval: ?IntervalID = null; - _lastDroppedFrames: number = 0; - _lastDecodedFrames: number = 0; - _lastTime: number = 0; - _mediaSourceAdapter: IMediaSourceAdapter; - _config: PKAbrConfigObject; - _videoElement: HTMLVideoElement; - _currentBitrate: number = 0; - _eventManager: EventManager; - static _logger: any = getLogger('droppedFramesWatcher'); + private _droppedFramesInterval: number | null = null; + private _lastDroppedFrames: number = 0; + private _lastDecodedFrames: number = 0; + private _lastTime: number = 0; + private _mediaSourceAdapter: IMediaSourceAdapter; + private _config: PKAbrConfigObject; + private _videoElement: HTMLVideoElement; + private _currentBitrate: number = 0; + private _eventManager: EventManager; + private static _logger: any = getLogger('droppedFramesWatcher'); constructor(mediaSourceAdapter: IMediaSourceAdapter, config: PKAbrConfigObject, videoElement: HTMLVideoElement) { super(); @@ -39,7 +40,7 @@ class DroppedFramesWatcher extends FakeEventTarget { } } - _init(): void { + private _init(): void { this._eventManager.listen( this._mediaSourceAdapter, CustomEventType.VIDEO_TRACK_CHANGED, @@ -48,22 +49,26 @@ class DroppedFramesWatcher extends FakeEventTarget { this._droppedFramesInterval = setInterval(() => this._checkFPS(), this._config.fpsDroppedFramesInterval); } - _triggerFPSDrop(data: Object): void { + private _triggerFPSDrop(data: any): void { this.dispatchEvent(new FakeEvent(CustomEventType.FPS_DROP, data)); } - _getDroppedAndDecodedFrames(): [number, number] { + private _getDroppedAndDecodedFrames(): [number, number] { if (typeof this._videoElement.getVideoPlaybackQuality === 'function') { const videoPlaybackQuality = this._videoElement.getVideoPlaybackQuality(); return [videoPlaybackQuality.droppedVideoFrames, videoPlaybackQuality.totalVideoFrames]; - } else if (typeof this._videoElement.webkitDroppedFrameCount == 'number' && typeof this._videoElement.webkitDecodedFrameCount == 'number') { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + } else if (typeof this._videoElement.webkitDroppedFrameCount === 'number' && typeof this._videoElement.webkitDecodedFrameCount === 'number') { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore return [this._videoElement.webkitDroppedFrameCount, this._videoElement.webkitDecodedFrameCount]; } else { return [NOT_SUPPORTED, NOT_SUPPORTED]; } } - _checkFPS(): void { + private _checkFPS(): void { const [droppedFrames, decodedFrames] = this._getDroppedAndDecodedFrames(); try { const currentTime = performance.now(); @@ -94,7 +99,7 @@ class DroppedFramesWatcher extends FakeEventTarget { } } - destroy(): void { + public destroy(): void { if (this._droppedFramesInterval) { clearInterval(this._droppedFramesInterval); } diff --git a/src/engines/engine-decorator-manager.js b/src/engines/engine-decorator-manager.ts similarity index 56% rename from src/engines/engine-decorator-manager.js rename to src/engines/engine-decorator-manager.ts index 483058e84..5f5f94839 100644 --- a/src/engines/engine-decorator-manager.js +++ b/src/engines/engine-decorator-manager.ts @@ -1,15 +1,19 @@ // @flow import getLogger from '../utils/logger'; +import {IEngine} from '../types/interfaces/engine'; +import {IEngineDecorator} from '../types/interfaces/engine-decorator'; +import {IEngineDecoratorProvider} from '../types'; +import { FakeEvent } from '../event/fake-event'; /** * Engine decorator manager for plugins. * @class EngineDecoratorManager */ class EngineDecoratorManager { - _decoratorProviders: Map = new Map(); - _logger: any = getLogger('EngineDecoratorManager'); + private _decoratorProviders: Map = new Map(); + private _logger: any = getLogger('EngineDecoratorManager'); - register(engineDecoratorProvider: IEngineDecoratorProvider): void { + public register(engineDecoratorProvider: IEngineDecoratorProvider): void { if (!this._decoratorProviders.has(engineDecoratorProvider.getName())) { this._decoratorProviders.set(engineDecoratorProvider.getName(), engineDecoratorProvider); } else { @@ -17,15 +21,15 @@ class EngineDecoratorManager { } } - createDecorators(engine: IEngine, dispatchEvent: Function): Array { + public createDecorators(engine: IEngine, dispatchEvent: (event: FakeEvent) => void): Array { this._logger.debug(`decorators created for ${Array.from(this._decoratorProviders.keys()).toString()}`); return Array.from(this._decoratorProviders.values(), engineDecoratorProvider => engineDecoratorProvider.getEngineDecorator(engine, dispatchEvent) ); } - destroy(): void { - this._logger.debug(`decorators destroyed`); + public destroy(): void { + this._logger.debug('decorators destroyed'); this._decoratorProviders.clear(); } } diff --git a/src/engines/engine-decorator-provider.js b/src/engines/engine-decorator-provider.ts similarity index 52% rename from src/engines/engine-decorator-provider.js rename to src/engines/engine-decorator-provider.ts index 04fbbc641..11213c2d4 100644 --- a/src/engines/engine-decorator-provider.js +++ b/src/engines/engine-decorator-provider.ts @@ -1,25 +1,28 @@ -// @flow - /** * Engine decorator provider. * @class EngineDecoratorProvider * @param {IEngineDecoratorProvider} plugin - The plugin which have implemented decorator. * @implements {IEngineDecorator} */ +import {IEngineDecoratorProvider} from '../types'; +import {IEngine} from '../types/interfaces/engine'; +import {IEngineDecorator} from '../types/interfaces/engine-decorator'; +import { FakeEvent } from '../event/fake-event'; + class EngineDecoratorProvider implements IEngineDecoratorProvider { - _name: string; - _getEngineDecorator: (engine: IEngine, dispatchEventHandler: Function) => IEngineDecorator; + private _name: string; + private _getEngineDecorator: (engine: IEngine, dispatchEventHandler: (event: FakeEvent) => void) => IEngineDecorator; constructor(plugin: IEngineDecoratorProvider) { this._name = plugin.getName(); this._getEngineDecorator = plugin.getEngineDecorator.bind(plugin); } - getEngineDecorator(engine: IEngine, dispatchEventHandler: Function): IEngineDecorator { + public getEngineDecorator(engine: IEngine, dispatchEventHandler: (event: FakeEvent) => void): IEngineDecorator { return this._getEngineDecorator(engine, dispatchEventHandler); } - getName(): string { + public getName(): string { return this._name; } } diff --git a/src/engines/engine-decorator.js b/src/engines/engine-decorator.ts similarity index 70% rename from src/engines/engine-decorator.js rename to src/engines/engine-decorator.ts index 1eea7b568..ba349680f 100644 --- a/src/engines/engine-decorator.js +++ b/src/engines/engine-decorator.ts @@ -1,9 +1,12 @@ -// @flow -import FakeEvent from '../event/fake-event'; +import { FakeEvent } from '../event/fake-event'; import {EventType} from '../event/event-type'; -import EventManager from '../event/event-manager'; -import FakeEventTarget from '../event/fake-event-target'; +import { EventManager } from '../event/event-manager'; +import { FakeEventTarget } from '../event/fake-event-target'; import {EngineDecoratorManager} from './engine-decorator-manager'; +import {IEngineDecorator} from '../types/interfaces/engine-decorator'; +import {IEngine} from '../types/interfaces/engine'; + +export type EngineDecoratorType = EngineDecorator & IEngine; /** * Engine decorator for plugin. @@ -12,17 +15,17 @@ import {EngineDecoratorManager} from './engine-decorator-manager'; * @implements {IEngineDecorator} */ class EngineDecorator extends FakeEventTarget implements IEngineDecorator { - _pluginDecorators: Array; - _eventManager: EventManager; + private _pluginDecorators: Array; + private _eventManager: EventManager; constructor(engine: IEngine, decoratorManager: EngineDecoratorManager) { super(); this._eventManager = new EventManager(); this._pluginDecorators = decoratorManager.createDecorators(engine, super.dispatchEvent.bind(this)); - const events: Array = (Object.values(EventType): any); + const events: Array = Object.values(EventType); events.forEach(event => this._eventManager.listen(engine, event, (e: FakeEvent) => this.dispatchEvent(e))); - return new Proxy(engine, { - get: (obj, prop) => { + return new Proxy(engine, { + get: (obj, prop): IEngine => { if (prop === 'destroy') { this._destroy(); } @@ -30,33 +33,32 @@ class EngineDecorator extends FakeEventTarget implements IEngineDecorator { let target; //For events the proxy is the target - to avoid listening to engine itself if (prop === 'addEventListener' || prop === 'removeEventListener') { + // eslint-disable-next-line target = this; } else { target = activeDecorator && prop in activeDecorator ? activeDecorator : obj; } - // $FlowFixMe return target[prop] && typeof target[prop].bind === 'function' ? target[prop].bind(target) : target[prop]; }, - set: (obj, prop, value) => { + set: (obj, prop, value): boolean => { const activeDecorator = this._pluginDecorators.find(decorator => prop in decorator && decorator.active); - // $FlowFixMe activeDecorator && prop in activeDecorator ? (activeDecorator[prop] = value) : (obj[prop] = value); return true; } - }); + }) as EngineDecoratorType; } - dispatchEvent(event: FakeEvent): boolean { + public dispatchEvent(event: FakeEvent): boolean { const activeDecorator = this._pluginDecorators.find(decorator => decorator.active); return activeDecorator && activeDecorator.dispatchEvent ? activeDecorator.dispatchEvent(event) : super.dispatchEvent(event); } - _destroy(): void { + private _destroy(): void { this._pluginDecorators = []; this._eventManager.destroy(); } - get active(): boolean { + public get active(): boolean { return true; } } diff --git a/src/engines/engine-provider.js b/src/engines/engine-provider.ts similarity index 83% rename from src/engines/engine-provider.js rename to src/engines/engine-provider.ts index a44a48927..0f22d4990 100644 --- a/src/engines/engine-provider.js +++ b/src/engines/engine-provider.ts @@ -1,6 +1,6 @@ -//@flow import getLogger from '../utils/logger'; import Html5 from './html5/html5'; +import {IEngineStatic} from '../types'; /** * Engine Provider @@ -13,7 +13,7 @@ class EngineProvider { * @static * @private */ - static _logger: any = getLogger('EngineProvider'); + private static _logger: any = getLogger('EngineProvider'); /** * The Engine registry. @@ -21,7 +21,7 @@ class EngineProvider { * @static * @private */ - static _engineProviders: {[id: string]: IEngineStatic} = {}; + private static _engineProviders: {[id: string]: IEngineStatic} = {}; /** * Add an engine to the registry. @@ -31,7 +31,7 @@ class EngineProvider { * @static * @returns {void} */ - static register(id: string, engine: IEngineStatic): void { + public static register(id: string, engine: IEngineStatic): void { if (id && !EngineProvider._engineProviders[id]) { EngineProvider._logger.debug(`Engine <${id}> has been registered successfully`); EngineProvider._engineProviders[id] = engine; @@ -47,7 +47,7 @@ class EngineProvider { * @static * @returns {void} */ - static unRegister(id: string): void { + public static unRegister(id: string): void { if (EngineProvider._engineProviders[id]) { EngineProvider._logger.debug(`Unregistered <${id}> Engine`); delete EngineProvider._engineProviders[id]; @@ -60,7 +60,7 @@ class EngineProvider { * @returns {Array} - The Array of engines, or null if such doesn't exists. * @static */ - static getEngines(): Array { + public static getEngines(): Array { return Object.keys(EngineProvider._engineProviders).map(key => EngineProvider._engineProviders[key]); } @@ -69,7 +69,7 @@ class EngineProvider { * @static * @returns {void} */ - static destroy(): void { + public static destroy(): void { EngineProvider._engineProviders = {}; } } diff --git a/src/engines/engine-type.js b/src/engines/engine-type.ts similarity index 63% rename from src/engines/engine-type.js rename to src/engines/engine-type.ts index 4ccd20efd..0aa9070ce 100644 --- a/src/engines/engine-type.js +++ b/src/engines/engine-type.ts @@ -1,11 +1,8 @@ -// @flow -const EngineType: PKEngineTypes = { +export const EngineType = { HTML5: 'html5', FLASH: 'flash', SILVERLIGHT: 'silverlight', CAST: 'cast', YOUTUBE: 'youtube', IMAGE: 'image' -}; - -export {EngineType}; +} as const; diff --git a/src/engines/html5/capabilities/html5-autoplay.js b/src/engines/html5/capabilities/html5-autoplay.ts similarity index 86% rename from src/engines/html5/capabilities/html5-autoplay.js rename to src/engines/html5/capabilities/html5-autoplay.ts index 0e22c348d..a9f8dbe4d 100644 --- a/src/engines/html5/capabilities/html5-autoplay.js +++ b/src/engines/html5/capabilities/html5-autoplay.ts @@ -1,16 +1,16 @@ -// @flow import * as Utils from '../../../utils/util'; import {Html5EventType} from '../../../event/event-type'; import getLogger from '../../../utils/logger'; -import * as EncodingSources from '../../../assets/encoding-sources.json'; +import EncodingSources from '../../../assets/encoding-sources.json'; +import {CapabilityResult, ICapability} from '../../../types/interfaces/engine-capabilty'; const WAIT_TIME: number = 500; const Html5AutoPlayCapability: ICapability = class Html5AutoPlayCapability { - static _vid: HTMLVideoElement; - static _playPromiseResult: Promise<*>; - static _logger: any = getLogger('Html5AutoPlayCapability'); - static _capabilities: Object = {}; + private static _vid: HTMLVideoElement; + private static _playPromiseResult: Promise; + private static _logger: any = getLogger('Html5AutoPlayCapability'); + private static _capabilities: any = {}; /** * Runs the test for autoplay capability. @@ -18,7 +18,7 @@ const Html5AutoPlayCapability: ICapability = class Html5AutoPlayCapability { * @static * @returns {void} */ - static runCapability(): void { + public static runCapability(): void { if ( Html5AutoPlayCapability._capabilities.autoplay || (typeof Html5AutoPlayCapability._capabilities.autoplay === 'boolean' && @@ -52,7 +52,7 @@ const Html5AutoPlayCapability: ICapability = class Html5AutoPlayCapability { * @static * @public */ - static getCapability(): Promise { + public static getCapability(): Promise { return Html5AutoPlayCapability._playPromiseResult.then(playCapability => { let fallbackPlayCapabilityTest; if (playCapability.autoplay) { @@ -75,7 +75,7 @@ const Html5AutoPlayCapability: ICapability = class Html5AutoPlayCapability { * @public * @static */ - static setCapabilities(capabilities: {[name: string]: any}): void { + public static setCapabilities(capabilities: {[name: string]: any}): void { Html5AutoPlayCapability._logger.debug('Set player capabilities', capabilities); const {autoplay, mutedAutoPlay} = capabilities; if (typeof autoplay === 'boolean') { @@ -91,7 +91,7 @@ const Html5AutoPlayCapability: ICapability = class Html5AutoPlayCapability { * @return {Promise<*>} - Play promise which resolved or rejected. * @private */ - static _getPlayPromise(): Promise<*> { + private static _getPlayPromise(): Promise { return Html5AutoPlayCapability._vid.play() || Html5AutoPlayCapability._forcePromiseReturnValue(); } @@ -102,7 +102,7 @@ const Html5AutoPlayCapability: ICapability = class Html5AutoPlayCapability { * @returns {void} * @static */ - static _setMuted(muted: boolean): void { + private static _setMuted(muted: boolean): void { if (muted) { Html5AutoPlayCapability._vid.muted = true; Html5AutoPlayCapability._vid.setAttribute('muted', ''); @@ -119,7 +119,7 @@ const Html5AutoPlayCapability: ICapability = class Html5AutoPlayCapability { * @private * @static */ - static _forcePromiseReturnValue(): Promise<*> { + private static _forcePromiseReturnValue(): Promise { return new Promise((resolve, reject) => { Html5AutoPlayCapability._vid.addEventListener(Html5EventType.ERROR, () => { reject(); diff --git a/src/engines/html5/cors-types.js b/src/engines/html5/cors-types.js deleted file mode 100644 index f8c21be53..000000000 --- a/src/engines/html5/cors-types.js +++ /dev/null @@ -1,7 +0,0 @@ -// @flow -const CorsType: PKCorsTypes = { - ANONYMOUS: 'anonymous', - USE_CREDENTIALS: 'use-credentials' -}; - -export {CorsType}; diff --git a/src/engines/html5/cors-types.ts b/src/engines/html5/cors-types.ts new file mode 100644 index 000000000..c01f2a75f --- /dev/null +++ b/src/engines/html5/cors-types.ts @@ -0,0 +1,4 @@ +export const CorsType = { + ANONYMOUS: 'anonymous', + USE_CREDENTIALS: 'use-credentials' +} as const; diff --git a/src/engines/html5/html5.js b/src/engines/html5/html5.ts similarity index 81% rename from src/engines/html5/html5.js rename to src/engines/html5/html5.ts index 26ed0f590..34efcfabb 100644 --- a/src/engines/html5/html5.js +++ b/src/engines/html5/html5.ts @@ -1,14 +1,12 @@ -//@flow -import FakeEventTarget from '../../event/fake-event-target'; -import FakeEvent from '../../event/fake-event'; -import EventManager from '../../event/event-manager'; +import { FakeEventTarget } from '../../event/fake-event-target'; +import { FakeEvent } from '../../event/fake-event'; +import { EventManager } from '../../event/event-manager'; import {CustomEventType, Html5EventType} from '../../event/event-type'; import MediaSourceProvider from './media-source/media-source-provider'; import VideoTrack from '../../track/video-track'; import AudioTrack from '../../track/audio-track'; -import PKTextTrack, {getActiveCues} from '../../track/text-track'; +import {PKTextTrack, getActiveCues} from '../../track/text-track'; import ImageTrack from '../../track/image-track'; -import {Cue} from '../../track/vtt-cue'; import {createTimedMetadata} from '../../track/timed-metadata'; import * as Utils from '../../utils/util'; import Html5AutoPlayCapability from './capabilities/html5-autoplay'; @@ -16,6 +14,11 @@ import Error from '../../error/error'; import getLogger from '../../utils/logger'; import {DroppedFramesWatcher} from '../dropped-frames-watcher'; import {ThumbnailInfo} from '../../thumbnail/thumbnail-info'; +import {IMediaSourceAdapter} from '../../types'; +import {CapabilityResult, ICapability} from '../../types'; +import {PKABRRestrictionObject, PKDrmConfigObject, PKDrmDataObject, PKMediaSourceObject, PKVideoElementStore} from '../../types'; +import {IEngine} from '../../types'; +import Track from '../../track/track'; const SHORT_BUFFERING_TIMEOUT: number = 200; @@ -29,65 +32,65 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @type {HTMLVideoElement} * @private */ - _el: HTMLVideoElement; + private _el!: HTMLVideoElement; /** * The event manager of the engine. * @type {EventManager} * @private */ - _eventManager: EventManager; + private _eventManager: EventManager; /** * The selected media source adapter of the engine. * @type {?IMediaSourceAdapter} * @private */ - _mediaSourceAdapter: IMediaSourceAdapter | null; + private _mediaSourceAdapter!: IMediaSourceAdapter | null; /** * The player config object. * @type {Object} * @private */ - _config: Object; + private _config: any; /** * Promise to indicate when a media source adapter can be loaded. * @type {Promise<*>} * @private */ - _canLoadMediaSourceAdapterPromise: Promise<*>; - _droppedFramesWatcher: ?DroppedFramesWatcher; - _reset: boolean = false; + private _canLoadMediaSourceAdapterPromise: Promise; + private _droppedFramesWatcher: DroppedFramesWatcher | undefined; + private _reset: boolean = false; /** * The html5 class logger. * @type {any} * @static * @private */ - static _logger: any = getLogger('Html5'); + private static _logger: any = getLogger('Html5'); /** * The html5 capabilities handlers. * @private * @static */ - static _capabilities: Array = [Html5AutoPlayCapability]; + private static _capabilities: Array = [Html5AutoPlayCapability]; /** * @type {string} - The engine id. * @public * @static */ - static id: string = 'html5'; + public static id: string = 'html5'; /** * @type {PKVideoElementStore} - Store object which maps between playerId to its video element. */ - static videoElementStore: PKVideoElementStore = {}; + public static videoElementStore: PKVideoElementStore = {}; /** * Checks if html5 is supported. * @returns {boolean} - Whether the html5 is supported. */ - static isSupported(): boolean { + public static isSupported(): boolean { try { const el = Utils.Dom.createElement('video'); el.volume = 0.5; @@ -106,7 +109,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @static */ - static createEngine(source: PKMediaSourceObject, config: Object, playerId: string): IEngine { + public static createEngine(source: PKMediaSourceObject, config: any, playerId: string): IEngine { return new this(source, config, playerId); } @@ -119,7 +122,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @static */ - static canPlaySource(source: PKMediaSourceObject, preferNative: boolean, drmConfig: PKDrmConfigObject): boolean { + public static canPlaySource(source: PKMediaSourceObject, preferNative: boolean, drmConfig: PKDrmConfigObject): boolean { return MediaSourceProvider.canPlaySource(source, preferNative, drmConfig); } @@ -129,7 +132,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @static */ - static runCapabilities(): void { + public static runCapabilities(): void { Html5._capabilities.forEach(capability => capability.runCapability()); } @@ -139,11 +142,11 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @static */ - static getCapabilities(): Promise { - let promises = []; + public static getCapabilities(): Promise { + const promises: CapabilityResult[] = []; Html5._capabilities.forEach(capability => promises.push(capability.getCapability())); return Promise.all(promises).then(arrayOfResults => { - const mergedResults = {}; + const mergedResults: CapabilityResult = {}; arrayOfResults.forEach(res => Object.assign(mergedResults, res)); return {[Html5.id]: mergedResults}; }); @@ -156,7 +159,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @static */ - static setCapabilities(capabilities: {[name: string]: any}): void { + public static setCapabilities(capabilities: {[name: string]: any}): void { Html5._capabilities.forEach(capability => capability.setCapabilities(capabilities)); } @@ -167,7 +170,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @private * @public */ - static prepareVideoElement(playerId: string): void { + public static prepareVideoElement(playerId: string): void { if (!Html5.videoElementStore[playerId]) { Html5._logger.debug(`Create the video element for playing ${playerId}`); const videoElement = Utils.Dom.createElement('video'); @@ -181,7 +184,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * The player playback rates. * @type {Array} */ - static PLAYBACK_RATES: Array = [0.5, 1, 1.5, 2]; + public static PLAYBACK_RATES: Array = [0.5, 1, 1.5, 2]; /** * @constructor @@ -189,7 +192,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @param {Object} config - The player configuration. * @param {string} playerId - The player id. */ - constructor(source: PKMediaSourceObject, config: Object, playerId: string) { + constructor(source: PKMediaSourceObject, config: any, playerId: string) { super(); this._eventManager = new EventManager(); this._canLoadMediaSourceAdapterPromise = Promise.resolve(); @@ -203,7 +206,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @param {Object} config - The player configuration. * @returns {void} */ - restore(source: PKMediaSourceObject, config: Object): void { + public restore(source: PKMediaSourceObject, config: any): void { this.reset(); this._init(source, config); } @@ -212,13 +215,13 @@ export default class Html5 extends FakeEventTarget implements IEngine { * Resets the engine. * @returns {void} */ - reset(): void { + public reset(): void { if (this._reset) return; this._reset = true; this._eventManager.removeAll(); if (this._droppedFramesWatcher) { this._droppedFramesWatcher.destroy(); - this._droppedFramesWatcher = null; + this._droppedFramesWatcher = undefined; } this._canLoadMediaSourceAdapterPromise = new Promise((resolve, reject) => { const mediaSourceAdapterDestroyed = this._mediaSourceAdapter ? this._mediaSourceAdapter.destroy() : Promise.resolve(); @@ -240,7 +243,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - destroy(): void { + public destroy(): void { this.detach(); if (this._el) { this.pause(); @@ -251,7 +254,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { MediaSourceProvider.destroy(); if (this._droppedFramesWatcher) { this._droppedFramesWatcher.destroy(); - this._droppedFramesWatcher = null; + this._droppedFramesWatcher = undefined; } if (this._mediaSourceAdapter) { this._mediaSourceAdapter.destroy(); @@ -264,7 +267,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {string} the engine's id */ - get id(): string { + public get id(): string { return Html5.id; } @@ -273,7 +276,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - attachMediaSource(): void { + public attachMediaSource(): void { if (this._mediaSourceAdapter) { this._mediaSourceAdapter.attachMediaSource(); } @@ -284,7 +287,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - detachMediaSource(): void { + public detachMediaSource(): void { if (this._mediaSourceAdapter) { this._mediaSourceAdapter.detachMediaSource(); } @@ -295,7 +298,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - attach(): void { + public attach(): void { Object.keys(Html5EventType).forEach(html5Event => { if (![Html5EventType.ERROR, Html5EventType.WAITING].includes(Html5EventType[html5Event])) { this._eventManager.listen(this._el, Html5EventType[html5Event], () => { @@ -311,7 +314,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { this.dispatchEvent(new FakeEvent(CustomEventType.TEXT_TRACK_ADDED, {track: event.track})); } }); - let mediaSourceAdapter = this._mediaSourceAdapter; + const mediaSourceAdapter = this._mediaSourceAdapter; if (mediaSourceAdapter) { this._eventManager.listen(mediaSourceAdapter, CustomEventType.VIDEO_TRACK_CHANGED, (event: FakeEvent) => this.dispatchEvent(event)); this._eventManager.listen(mediaSourceAdapter, CustomEventType.AUDIO_TRACK_CHANGED, (event: FakeEvent) => this.dispatchEvent(event)); @@ -341,7 +344,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - detach(): void { + public detach(): void { Object.keys(Html5EventType).forEach(html5Event => { this._eventManager.unlisten(this._el, Html5EventType[html5Event]); }); @@ -357,7 +360,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {HTMLVideoElement} - The video element. * @public */ - getVideoElement(): HTMLVideoElement { + public getVideoElement(): HTMLVideoElement { return this._el; } @@ -366,7 +369,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @param {VideoTrack} videoTrack - The video track object to set. * @returns {void} */ - selectVideoTrack(videoTrack: VideoTrack): void { + public selectVideoTrack(videoTrack: VideoTrack): void { if (this._mediaSourceAdapter) { this._mediaSourceAdapter.selectVideoTrack(videoTrack); } @@ -377,7 +380,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @param {AudioTrack} audioTrack - The video track object to set. * @returns {void} */ - selectAudioTrack(audioTrack: AudioTrack): void { + public selectAudioTrack(audioTrack: AudioTrack): void { if (this._mediaSourceAdapter) { this._mediaSourceAdapter.selectAudioTrack(audioTrack); } @@ -388,7 +391,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @param {PKTextTrack} textTrack - The playkit text track object to set. * @returns {void} */ - selectTextTrack(textTrack: PKTextTrack): void { + public selectTextTrack(textTrack: PKTextTrack): void { this._removeCueChangeListeners(); if (this._mediaSourceAdapter) { this._mediaSourceAdapter.selectTextTrack(textTrack); @@ -402,7 +405,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @param {ImageTrack} imageTrack - The image track object to set. * @returns {void} */ - selectImageTrack(imageTrack: ImageTrack): void { + public selectImageTrack(imageTrack: ImageTrack): void { if (this._mediaSourceAdapter) { this._mediaSourceAdapter.selectImageTrack(imageTrack); } @@ -414,7 +417,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {void} * @public */ - hideTextTrack(): void { + public hideTextTrack(): void { if (this._mediaSourceAdapter) { this._mediaSourceAdapter.hideTextTrack(); } @@ -427,7 +430,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {void} * @public */ - enableAdaptiveBitrate(): void { + public enableAdaptiveBitrate(): void { if (this._mediaSourceAdapter) { this._mediaSourceAdapter.enableAdaptiveBitrate(); } @@ -439,7 +442,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - Whether adaptive bitrate is enabled. * @public */ - isAdaptiveBitrateEnabled(): boolean { + public isAdaptiveBitrateEnabled(): boolean { if (this._mediaSourceAdapter) { return this._mediaSourceAdapter.isAdaptiveBitrateEnabled(); } @@ -453,7 +456,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {void} * @public */ - applyABRRestriction(restriction: PKABRRestrictionObject): void { + public applyABRRestriction(restriction: PKABRRestrictionObject): void { if (this._mediaSourceAdapter) { return this._mediaSourceAdapter.applyABRRestriction(restriction); } @@ -465,13 +468,13 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {void} * @public */ - seekToLiveEdge(): void { + public seekToLiveEdge(): void { if (this._mediaSourceAdapter) { this._mediaSourceAdapter.seekToLiveEdge(); } } - isOnLiveEdge(): boolean { + public isOnLiveEdge(): boolean { if (this._mediaSourceAdapter) { return this._mediaSourceAdapter.isOnLiveEdge(); } @@ -483,7 +486,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Number} - start time of DVR window. * @public */ - getStartTimeOfDvrWindow(): number { + public getStartTimeOfDvrWindow(): number { return this._mediaSourceAdapter ? this._mediaSourceAdapter.getStartTimeOfDvrWindow() : 0; } @@ -493,7 +496,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - Whether playback is live. * @public */ - isLive(): boolean { + public isLive(): boolean { return this._mediaSourceAdapter ? this._mediaSourceAdapter.isLive() : false; } @@ -502,8 +505,8 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {?Promise<*>} - play promise */ - play(): ?Promise<*> { - let playPromise = this._el.play(); + public play(): Promise { + const playPromise = this._el.play(); if (playPromise) { playPromise.catch(err => this.dispatchEvent(new FakeEvent(CustomEventType.PLAY_FAILED, {error: err}))); } @@ -515,7 +518,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - pause(): void { + public pause(): void { return this._el.pause(); } @@ -525,11 +528,11 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {Promise} - The loaded data */ - load(startTime: ?number): Promise { + public load(startTime?: number): Promise<{tracks: Track[]}> { this._el.load(); return this._canLoadMediaSourceAdapterPromise .then(() => { - return this._mediaSourceAdapter ? this._mediaSourceAdapter.load(startTime) : Promise.resolve({}); + return this._mediaSourceAdapter ? this._mediaSourceAdapter.load(startTime) : Promise.resolve({} as {tracks: Track[]}); }) .catch(error => { this.dispatchEvent(new FakeEvent(Html5EventType.ERROR, error)); @@ -542,7 +545,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - enterPictureInPicture(): void { + public enterPictureInPicture(): void { try { // Currently it's supported in chrome and in safari. So if we consider checking support before, // we can use this flag to distinguish between the two. In the future we might need a different method. @@ -556,7 +559,9 @@ export default class Html5 extends FakeEventTarget implements IEngine { ) ); }); + // @ts-expect-error - Property 'webkitSetPresentationMode' does not exist on type 'HTMLVideoElement' } else if (typeof this._el.webkitSetPresentationMode === 'function') { + // @ts-expect-error - Property 'webkitSetPresentationMode' does not exist on type 'HTMLVideoElement' this._el.webkitSetPresentationMode('picture-in-picture'); // Safari does not fire this event but Chrome does, normalizing the behaviour setTimeout(() => this.dispatchEvent(new FakeEvent(Html5EventType.ENTER_PICTURE_IN_PICTURE)), 0); @@ -576,7 +581,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - exitPictureInPicture(): void { + public exitPictureInPicture(): void { try { // Currently it's supported in chrome and in safari. So if we consider checking support before, // we can use this flag to distinguish between the two. In the future we might need a different method. @@ -590,7 +595,8 @@ export default class Html5 extends FakeEventTarget implements IEngine { ) ); }); - } else if (typeof this._el.webkitSetPresentationMode === 'function') { + } else if (typeof this._el['webkitSetPresentationMode'] === 'function') { + //@ts-expect-error - Property 'webkitSetPresentationMode' does not exist on type 'HTMLVideoElement'. this._el.webkitSetPresentationMode('inline'); } } catch (error) { @@ -608,13 +614,14 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @return {boolean} if the engine is in picture in picture mode or not */ - isPictureInPictureSupported(): boolean { + public isPictureInPictureSupported(): boolean { // due to a bug in shaka pip_webkit which sets pictureInPictureEnabled to true in unsupported devices like iphones we will // first rely on the response of webkitSupportsPresentationMode (if exists) and only if not on the pictureInPictureEnabled property + //@ts-expect-error - Property 'webkitSupportsPresentationMode' does not exist on type 'HTMLVideoElement'. if (typeof this._el.webkitSupportsPresentationMode === 'function') { + //@ts-expect-error - Property 'webkitSupportsPresentationMode' does not exist on type 'HTMLVideoElement'. return this._el.webkitSupportsPresentationMode('picture-in-picture'); } else { - // $FlowFixMe return !!document.pictureInPictureEnabled; } } @@ -625,10 +632,11 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @return {?ThumbnailInfo} - Thumbnail info */ - getThumbnail(time: number): ?ThumbnailInfo { + public getThumbnail(time: number): ThumbnailInfo | null { if (this._mediaSourceAdapter) { return this._mediaSourceAdapter.getThumbnail(time); } + return null; } /** @@ -637,7 +645,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set src(source: string): void { + public set src(source: string) { if (this._mediaSourceAdapter) { this._mediaSourceAdapter.src = source; } @@ -648,7 +656,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {string} - The source url. * @public */ - get src(): string { + public get src(): string { if (this._mediaSourceAdapter) { return this._mediaSourceAdapter.src; } @@ -660,7 +668,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Number} - The current playback time. * @public */ - get currentTime(): number { + public get currentTime(): number { return this._el ? this._el.currentTime : 0; } @@ -670,7 +678,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set currentTime(to: number): void { + public set currentTime(to: number) { if (this._el) { this._el.currentTime = to; } @@ -681,11 +689,11 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Number} - The playback duration. * @public */ - get duration(): number { + public get duration(): number { return this._el.duration; } - get liveDuration(): number { + public get liveDuration(): number { return this._mediaSourceAdapter ? this._mediaSourceAdapter.liveDuration : -1; } @@ -695,7 +703,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set volume(vol: number): void { + public set volume(vol: number) { this._el.volume = vol; } @@ -704,7 +712,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Number} - The volume value of the video element. * @public */ - get volume(): number { + public get volume(): number { return this._el.volume; } @@ -713,7 +721,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - The paused value of the video element. * @public */ - get paused(): boolean { + public get paused(): boolean { return this._el.paused; } @@ -722,7 +730,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - The seeking value of the video element. * @public */ - get seeking(): boolean { + public get seeking(): boolean { return this._el.seeking; } @@ -731,7 +739,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {TimeRanges} - First seekable range (part) of the video in seconds. * @public */ - get seekable(): TimeRanges { + public get seekable(): TimeRanges { return this._el.seekable; } @@ -740,7 +748,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {TimeRanges} - First played range (part) of the video in seconds. * @public */ - get played(): TimeRanges { + public get played(): TimeRanges { return this._el.played; } @@ -749,7 +757,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {TimeRanges} - First buffered range (part) of the video in seconds. * @public */ - get buffered(): TimeRanges { + public get buffered(): TimeRanges { return this._el.buffered; } @@ -759,7 +767,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set muted(mute: boolean): void { + public set muted(mute: boolean) { this._el.muted = mute; } @@ -768,7 +776,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - The muted value of the video element. * @public */ - get muted(): boolean { + public get muted(): boolean { return this._el.muted; } @@ -777,7 +785,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - The defaultMuted of the video element. * @public */ - get defaultMuted(): boolean { + public get defaultMuted(): boolean { return this._el.defaultMuted; } @@ -787,7 +795,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {void} * @public */ - set poster(poster: string): void { + public set poster(poster: string) { this._el.poster = poster; } @@ -796,7 +804,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {poster} - The image url. * @public */ - get poster(): string { + public get poster(): string { return this._el.poster; } @@ -806,7 +814,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set preload(preload: string): void { + public set preload(preload: 'none' | 'metadata' | 'auto' | '') { this._el.preload = preload; } @@ -815,7 +823,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {string} - The preload value. * @public */ - get preload(): string { + public get preload(): 'none' | 'metadata' | 'auto' | '' { return this._el.preload; } @@ -825,7 +833,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set autoplay(autoplay: boolean): void { + public set autoplay(autoplay: boolean) { this._el.autoplay = autoplay; } @@ -834,7 +842,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - The autoplay value. * @public */ - get autoplay(): boolean { + public get autoplay(): boolean { return this._el.autoplay; } @@ -844,7 +852,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set loop(loop: boolean) { + public set loop(loop: boolean) { this._el.loop = loop; } @@ -853,7 +861,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - The loop value. * @public */ - get loop(): boolean { + public get loop(): boolean { return this._el.loop; } @@ -863,7 +871,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set controls(controls: boolean): void { + public set controls(controls: boolean) { this._el.controls = controls; } @@ -872,7 +880,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - The controls value. * @public */ - get controls(): boolean { + public get controls(): boolean { return this._el.controls; } @@ -882,7 +890,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set playbackRate(playbackRate: number): void { + public set playbackRate(playbackRate: number) { this._el.playbackRate = playbackRate; } @@ -891,7 +899,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Number} - The current playback speed value. * @public */ - get playbackRate(): number { + public get playbackRate(): number { return this._el.playbackRate; } @@ -901,7 +909,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @public * @returns {void} */ - set defaultPlaybackRate(defaultPlaybackRate: number) { + public set defaultPlaybackRate(defaultPlaybackRate: number) { this._el.defaultPlaybackRate = defaultPlaybackRate; } @@ -910,7 +918,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Number} - The default playback speed value. * @public */ - get defaultPlaybackRate(): number { + public get defaultPlaybackRate(): number { return this._el.defaultPlaybackRate; } @@ -919,7 +927,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {boolean} - The ended value. * @public */ - get ended(): boolean { + public get ended(): boolean { return this._el.ended; } @@ -928,7 +936,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {MediaError} - The MediaError object has a code property containing the error state of the audio/video. * @public */ - get error(): ?MediaError { + public get error(): MediaError | null { return this._el.error; } @@ -936,7 +944,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Number} - The current network state (activity) of the audio/video. * @public */ - get networkState(): number { + public get networkState(): number { return this._el.networkState; } @@ -949,7 +957,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * 3 = HAVE_FUTURE_DATA - data for the current and at least the next frame is available. * 4 = HAVE_ENOUGH_DATA - enough data available to start playing. */ - get readyState(): number { + public get readyState(): number { return this._el.readyState; } @@ -957,7 +965,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Number} - The height of the video player, in pixels. * @public */ - get videoHeight(): number { + public get videoHeight(): number { return this._el.videoHeight; } @@ -965,14 +973,14 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Number} - The width of the video player, in pixels. * @public */ - get videoWidth(): number { + public get videoWidth(): number { return this._el.videoWidth; } /** * @param {boolean} playsinline - Whether to set on the video tag the playsinline attribute. */ - set playsinline(playsinline: boolean): void { + public set playsinline(playsinline: boolean) { if (playsinline) { this._el.setAttribute('playsinline', ''); } else { @@ -983,7 +991,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { /** * @returns {boolean} - Whether the video tag has an attribute of playsinline. */ - get playsinline(): boolean { + public get playsinline(): boolean { return this._el.getAttribute('playsinline') === ''; } @@ -991,7 +999,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * Set crossOrigin attribute. * @param {?string} crossOrigin - 'anonymous' or 'use-credentials' */ - set crossOrigin(crossOrigin: ?string): void { + public set crossOrigin(crossOrigin: string) { if (typeof crossOrigin === 'string') { this._el.setAttribute('crossorigin', crossOrigin); } else { @@ -1003,7 +1011,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * Get crossOrigin attribute. * @returns {?string} - 'anonymous' or 'use-credentials' */ - get crossOrigin(): ?string { + public get crossOrigin(): string | null { return this._el.getAttribute('crossorigin'); } @@ -1011,7 +1019,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * get the playback rates * @return {number[]} - playback rates */ - get playbackRates(): Array { + public get playbackRates(): Array { return Html5.PLAYBACK_RATES; } @@ -1019,10 +1027,11 @@ export default class Html5 extends FakeEventTarget implements IEngine { * get if the engine's video element is the one in the PIP * @return {boolean} boolean - is in PIP */ - get isInPictureInPicture(): boolean { + public get isInPictureInPicture(): boolean { // Check if the engine's video element is the one in the PIP return ( - (!!document.pictureInPictureElement && document.pictureInPictureElement != null && this._el === document.pictureInPictureElement) || + (!!document.pictureInPictureElement && document.pictureInPictureElement !== null && this._el === document.pictureInPictureElement) || + // @ts-expect-error - Property 'webkitPresentationMode' does not exist on type 'HTMLVideoElement' (!!this._el.webkitPresentationMode && this._el.webkitPresentationMode === 'picture-in-picture') ); } @@ -1034,7 +1043,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @private * @returns {void} */ - _init(source: PKMediaSourceObject, config: Object): void { + private _init(source: PKMediaSourceObject, config: any): void { this._config = config; this._reset = false; this._loadMediaSourceAdapter(source); @@ -1047,7 +1056,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @private * @returns {void} */ - _createVideoElement(playerId: string): void { + private _createVideoElement(playerId: string): void { this._el = Html5.videoElementStore[playerId] || Utils.Dom.createElement('video'); this._el.id = Utils.Generator.uniqueId(5); this._el.controls = false; @@ -1059,7 +1068,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @private * @returns {void} */ - _loadMediaSourceAdapter(source: PKMediaSourceObject): void { + private _loadMediaSourceAdapter(source: PKMediaSourceObject): void { this._mediaSourceAdapter = MediaSourceProvider.getMediaSourceAdapter(this.getVideoElement(), source, this._config); if (this._mediaSourceAdapter) { this._droppedFramesWatcher = new DroppedFramesWatcher(this._mediaSourceAdapter, this._config.abr, this._el); @@ -1071,8 +1080,8 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {void} * @private */ - _addCueChangeListener(): void { - let textTrackEl = Array.from(this._el.textTracks).find(track => PKTextTrack.isNativeTextTrack(track) && track.mode !== PKTextTrack.MODE.DISABLED); + private _addCueChangeListener(): void { + const textTrackEl = Array.from(this._el.textTracks).find(track => PKTextTrack.isNativeTextTrack(track) && track.mode !== PKTextTrack.MODE.DISABLED); if (textTrackEl) { this._eventManager.listen(textTrackEl, 'cuechange', (e: FakeEvent) => this._onCueChange(e)); } @@ -1083,7 +1092,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {void} * @private */ - _removeCueChangeListeners(): void { + private _removeCueChangeListeners(): void { Array.from(this._el.textTracks) .filter(track => !PKTextTrack.isMetaDataTrack(track)) .forEach(track => { @@ -1097,9 +1106,9 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {void} * @private */ - _onCueChange(e: FakeEvent): void { - let activeCues: TextTrackCueList = e.currentTarget.activeCues; - let normalizedActiveCues = getActiveCues(activeCues); + private _onCueChange(e: FakeEvent): void { + const activeCues: TextTrackCueList = e.currentTarget.activeCues; + const normalizedActiveCues = getActiveCues(activeCues); this.dispatchEvent(new FakeEvent(CustomEventType.TEXT_CUE_CHANGED, {cues: normalizedActiveCues})); } @@ -1107,13 +1116,14 @@ export default class Html5 extends FakeEventTarget implements IEngine { * set hasBeenReset to true for all the cues. (use case: when cues should be recalculated for display) * @returns {void} */ - resetAllCues(): void { - let activeTextTrack = Array.from(this._el.textTracks).find( + public resetAllCues(): void { + const activeTextTrack = Array.from(this._el.textTracks).find( track => PKTextTrack.isNativeTextTrack(track) && track.mode !== PKTextTrack.MODE.DISABLED ); if (activeTextTrack) { - for (let i = 0; i < activeTextTrack.cues.length; i++) { - activeTextTrack.cues[i].hasBeenReset = true; + for (let i = 0; i < activeTextTrack.cues!.length; i++) { + // @ts-expect-error - Property 'hasBeenReset' does not exist on type 'TextTrackCue' + activeTextTrack.cues![i].hasBeenReset = true; } } } @@ -1123,17 +1133,17 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {void} * @private */ - _handleVideoError(): void { + private _handleVideoError(): void { if (!this._el.error) return; const code = this._el.error.code; - if (code === window.MediaError.MEDIA_ERR_ABORTED) { + if (code === MediaError.MEDIA_ERR_ABORTED) { // Ignore this error code.js, which should only occur when navigating away or // deliberately stopping playback of HTTP content. return; } // Extra error information from MS Edge and IE11: - let extended = this._getMsExtendedError(); + const extended = this._getMsExtendedError(); // Extra error information from Chrome: // $FlowFixMe @@ -1148,7 +1158,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { } } - _handleWaiting(): void { + private _handleWaiting(): void { let playing = false; this._eventManager.listenOnce(this._el, Html5EventType.PLAYING, () => (playing = true)); setTimeout(() => { @@ -1164,8 +1174,8 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {string} info about the video element error * @private */ - _getMsExtendedError(): string { - // $FlowFixMe + private _getMsExtendedError(): string { + //@ts-expect-error - Property 'msExtendedCode' does not exist on type 'MediaError' let extended = this._el.error.msExtendedCode; if (extended) { // Convert to unsigned: @@ -1178,17 +1188,17 @@ export default class Html5 extends FakeEventTarget implements IEngine { return extended; } - _handleMetadataTrackEvents(): void { - const listenToCueChange = metadataTrack => { + private _handleMetadataTrackEvents(): void { + const listenToCueChange = (metadataTrack: any): void => { metadataTrack.mode = PKTextTrack.MODE.HIDDEN; this._eventManager.listen(metadataTrack, 'cuechange', () => { - let activeCues = []; + let activeCues: VTTCue[] = []; Array.from(this._el.textTracks).forEach((track: TextTrack) => { if (PKTextTrack.isMetaDataTrack(track)) { - activeCues = activeCues.concat(getActiveCues(track.activeCues)); + activeCues = activeCues.concat(getActiveCues(track.activeCues!)); } }); - activeCues = activeCues.sort((a: Cue, b: Cue) => { + activeCues = activeCues.sort((a: VTTCue, b: VTTCue) => { return a.startTime - b.startTime; }); this.dispatchEvent(new FakeEvent(CustomEventType.TIMED_METADATA, {cues: activeCues})); @@ -1221,14 +1231,14 @@ export default class Html5 extends FakeEventTarget implements IEngine { }); } - get targetBuffer(): number { + public get targetBuffer(): number { if (this._mediaSourceAdapter) { return this._mediaSourceAdapter.targetBuffer; } return NaN; } - get availableBuffer(): number { + public get availableBuffer(): number { let retVal = 0; if (this.buffered) { for (let i = 0; i < this.buffered.length; i++) { @@ -1241,7 +1251,7 @@ export default class Html5 extends FakeEventTarget implements IEngine { return retVal; } - addTextTrack(kind: string, label?: string, language?: string): ?TextTrack { + public addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack | undefined { return this._el.addTextTrack(kind, label, language); } @@ -1251,11 +1261,11 @@ export default class Html5 extends FakeEventTarget implements IEngine { * @returns {Array} - The native TextTracks array. * @public */ - getNativeTextTracks(): Array { + public getNativeTextTracks(): TextTrack[] { return Array.from(this._el.textTracks); } - getDrmInfo(): ?PKDrmDataObject { - return this._mediaSourceAdapter?.getDrmInfo(); + public getDrmInfo(): PKDrmDataObject | null { + return this._mediaSourceAdapter ? this._mediaSourceAdapter.getDrmInfo() : null; } } diff --git a/src/engines/html5/media-source/adapters/fairplay-drm-handler.js b/src/engines/html5/media-source/adapters/fairplay-drm-handler.ts similarity index 67% rename from src/engines/html5/media-source/adapters/fairplay-drm-handler.js rename to src/engines/html5/media-source/adapters/fairplay-drm-handler.ts index 5eaf328d4..0c4aa9bd9 100644 --- a/src/engines/html5/media-source/adapters/fairplay-drm-handler.js +++ b/src/engines/html5/media-source/adapters/fairplay-drm-handler.ts @@ -1,13 +1,10 @@ -// @flow import Error from '../../../../error/error'; import getLogger from '../../../../utils/logger'; import * as Utils from '../../../../utils/util'; import {RequestType} from '../../../../enums/request-type'; -import type {CodeType} from '../../../../error/code'; -import type {SeverityType} from '../../../../error/severity'; -import type {CategoryType} from '../../../../error/category'; import {DrmScheme} from '../../../../drm/drm-scheme'; -import EventManager from '../../../../event/event-manager'; +import { EventManager, ListenerType} from '../../../../event/event-manager'; +import {PKDrmDataObject, PKRequestObject, PKResponseObject} from '../../../../types'; type WebkitEventsType = {[name: string]: string}; @@ -19,44 +16,44 @@ const WebkitEvents: WebkitEventsType = { KEY_ERROR: 'webkitkeyerror' }; -type FairPlayDrmConfigType = {licenseUrl: string, certificate?: string, network: {requestFilter?: Function, responseFilter: Function}}; +type FairPlayDrmConfigType = {licenseUrl: string, certificate?: string, network: {requestFilter?: (...args: any[]) => any, responseFilter: (...args: any[]) => any}}; class FairPlayDrmHandler { - static WebkitEvents: WebkitEventsType = WebkitEvents; - - _logger = getLogger('FairPlayDrmHandler'); - _eventManager: EventManager; - _keySession: any; - _config: FairPlayDrmConfigType; - _onWebkitNeedKeyHandler: Function; - _errorCallback: Function; - _drmResponseCallback: Function; - _videoElement: HTMLVideoElement; - _retryLicenseRequest: number = 4; - _licenseRequestTime: number; - _defaultConfig: FairPlayDrmConfigType = { + public static WebkitEvents: WebkitEventsType = WebkitEvents; + + private _logger = getLogger('FairPlayDrmHandler'); + private _eventManager: EventManager; + private _keySession: any; + private _config: FairPlayDrmConfigType; + private _onWebkitNeedKeyHandler: ListenerType; + private _errorCallback: (...args: any[]) => any; + private _drmResponseCallback: (...args: any[]) => any; + private _videoElement: HTMLVideoElement; + private _retryLicenseRequest: number = 4; + private _licenseRequestTime: number | undefined; + private _defaultConfig: FairPlayDrmConfigType = { licenseUrl: '', certificate: '', network: { responseFilter: (type, response) => { - let responseObj = {}; + let responseObj: any = {}; try { const dataView = new DataView(response.data); const decoder = new TextDecoder(); const keyText = decoder.decode(dataView).trim(); responseObj = JSON.parse(keyText); } catch (error) { - this._onError((Error.Code: CodeType).BAD_FAIRPLAY_RESPONSE, { + this._onError(Error.Code.BAD_FAIRPLAY_RESPONSE, { error, responseText: response.data }); return; } - let isValidResponse = FairPlayDrmHandler._validateResponse(responseObj); + const isValidResponse = FairPlayDrmHandler._validateResponse(responseObj); if (isValidResponse.valid) { response.data = FairPlayDrmHandler._base64DecodeUint8Array(responseObj.ckc); } else { - this._onError((Error.Code: CodeType).BAD_FAIRPLAY_RESPONSE, isValidResponse); + this._onError(Error.Code.BAD_FAIRPLAY_RESPONSE, isValidResponse); } } } @@ -69,38 +66,38 @@ class FairPlayDrmHandler { * @param {Function} errorCallback - error callback function * @param {Function} drmResponseCallback - drm license response callback function */ - constructor(videoElement: HTMLVideoElement, config: FairPlayDrmConfigType, errorCallback: Function, drmResponseCallback: Function): void { + constructor(videoElement: HTMLVideoElement, config: FairPlayDrmConfigType, errorCallback: (...args: any[]) => any, drmResponseCallback: (...args: any[]) => any) { this._config = Utils.Object.mergeDeep({}, this._defaultConfig, config); this._errorCallback = errorCallback; this._drmResponseCallback = drmResponseCallback; this._videoElement = videoElement; - this._onWebkitNeedKeyHandler = (e: Event) => this._onWebkitNeedKey(e); + this._onWebkitNeedKeyHandler = (e: Event): void => this._onWebkitNeedKey(e); this._eventManager = new EventManager(); this._eventManager.listen(this._videoElement, WebkitEvents.NEED_KEY, this._onWebkitNeedKeyHandler); } - _onWebkitNeedKey(event: any): void { + private _onWebkitNeedKey(event: any): void { this._logger.debug('Webkit need key triggered'); - let videoElement = event.target; + const videoElement = event.target; let initData = event.initData; - let contentId = FairPlayDrmHandler._extractContentId(initData); - let fpsCertificate = FairPlayDrmHandler._base64DecodeUint8Array(this._config.certificate); + const contentId = FairPlayDrmHandler._extractContentId(initData); + const fpsCertificate = FairPlayDrmHandler._base64DecodeUint8Array(this._config.certificate); initData = FairPlayDrmHandler._concatInitDataIdAndCertificate(initData, contentId, fpsCertificate); if (!videoElement.webkitKeys) { - let keySystem = this._selectKeySystem(); + const keySystem = this._selectKeySystem(); this._logger.debug('Sets media keys'); - videoElement.webkitSetMediaKeys(new window.WebKitMediaKeys(keySystem)); + videoElement.webkitSetMediaKeys(new WebKitMediaKeys(keySystem!)); } if (!videoElement.webkitKeys) { - this._onError((Error.Code: CodeType).COULD_NOT_CREATE_MEDIA_KEYS); + this._onError(Error.Code.COULD_NOT_CREATE_MEDIA_KEYS); } this._logger.debug('Creates session'); this._keySession = videoElement.webkitKeys.createSession('video/mp4', initData); if (!this._keySession) { - this._onError((Error.Code: CodeType).COULD_NOT_CREATE_KEY_SESSION); + this._onError(Error.Code.COULD_NOT_CREATE_KEY_SESSION); } this._keySession.contentId = contentId; this._eventManager.listen(this._keySession, WebkitEvents.KEY_MESSAGE, (e: Event) => this._onWebkitKeyMessage(e)); @@ -108,21 +105,21 @@ class FairPlayDrmHandler { this._eventManager.listen(this._keySession, WebkitEvents.KEY_ERROR, (e: Event) => this._onWebkitKeyError(e)); } - getDrmInfo(): PKDrmDataObject { + public getDrmInfo(): PKDrmDataObject { const {certificate, licenseUrl} = this._config; return {certificate, licenseUrl, scheme: DrmScheme.FAIRPLAY}; } - destroy(): void { + public destroy(): void { this._eventManager.destroy(); this._keySession.close(); this._keySession = null; } - _onWebkitKeyMessage(event: any): void { + private _onWebkitKeyMessage(event: any): void { this._logger.debug('Webkit key message triggered'); - let message = event.message; - let request = new XMLHttpRequest(); + const message = event.message; + const request = new XMLHttpRequest(); request.responseType = 'arraybuffer'; this._eventManager.listenOnce(request, 'load', (e: Event) => this._licenseRequestLoaded(e)); const pkRequest: PKRequestObject = { @@ -156,8 +153,8 @@ class FairPlayDrmHandler { } setContentType && request.setRequestHeader('Content-type', 'application/json'); this._logger.debug('Ready for license request'); - request.onerror = () => { - this._onError((Error.Code: CodeType).LICENSE_REQUEST_FAILED, { + request.onerror = (): void => { + this._onError(Error.Code.LICENSE_REQUEST_FAILED, { status: request.status, responseText: request.responseText }); @@ -168,9 +165,9 @@ class FairPlayDrmHandler { .catch(error => { this._errorCallback( new Error( - (Error.Severity: SeverityType).CRITICAL, - (Error.Category: CategoryType).NETWORK, - (Error.Code: CodeType).REQUEST_FILTER_ERROR, + Error.Severity.CRITICAL, + Error.Category.NETWORK, + Error.Code.REQUEST_FILTER_ERROR, error ) ); @@ -178,30 +175,30 @@ class FairPlayDrmHandler { }); } - _onWebkitKeyAdded(): void { + private _onWebkitKeyAdded(): void { this._logger.debug('Decryption key was added to session'); } - _onWebkitKeyError(e: any): void { + private _onWebkitKeyError(e: any): void { this._logger.error('A decryption key error was encountered', e); if (this._retryLicenseRequest <= 0) { - this._onError((Error.Code: CodeType).LICENSE_REQUEST_FAILED, e.target.error); + this._onError(Error.Code.LICENSE_REQUEST_FAILED, e.target.error); } this._retryLicenseRequest--; } - _licenseRequestLoaded(event: any): void { + private _licenseRequestLoaded(event: any): void { this._logger.debug('License request loaded'); - let request = event.target; + const request = event.target; if (request.status > 299) { - this._onError((Error.Code: CodeType).LICENSE_REQUEST_FAILED, { + this._onError(Error.Code.LICENSE_REQUEST_FAILED, { status: request.status, error: request.responseText }); return; } if (this._drmResponseCallback) { - const licenseTime = Date.now() - this._licenseRequestTime; + const licenseTime = Date.now() - this._licenseRequestTime!; this._drmResponseCallback({licenseTime: licenseTime / 1000, scheme: DrmScheme.FAIRPLAY}); } const {responseURL: url, response: data} = request; @@ -224,9 +221,9 @@ class FairPlayDrmHandler { .catch(error => { this._errorCallback( new Error( - (Error.Severity: SeverityType).CRITICAL, - (Error.Category: CategoryType).NETWORK, - (Error.Code: CodeType).RESPONSE_FILTER_ERROR, + Error.Severity.CRITICAL, + Error.Category.NETWORK, + Error.Code.RESPONSE_FILTER_ERROR, error ) ); @@ -234,11 +231,11 @@ class FairPlayDrmHandler { }); } - _onError(code: number, data?: Object): void { - this._errorCallback(new Error((Error.Severity: SeverityType).CRITICAL, (Error.Category: CategoryType).DRM, code, data)); + private _onError(code: number, data?: any): void { + this._errorCallback(new Error(Error.Severity.CRITICAL, Error.Category.DRM, code, data)); } - static _validateResponse(responseObj: Object): Object { + public static _validateResponse(responseObj: any): any { if ((responseObj.message && responseObj.message.indexOf('error') > 0) || responseObj.reference === null || responseObj.status_code === 500) { return { //todo: create & edit an error object @@ -257,9 +254,9 @@ class FairPlayDrmHandler { } } - _selectKeySystem(): ?string { - let keySystem = null; - if (window.WebKitMediaKeys.isTypeSupported(KeySystem, 'video/mp4')) { + private _selectKeySystem(): string | null { + let keySystem: string | null = null; + if (WebKitMediaKeys.isTypeSupported(KeySystem, 'video/mp4')) { keySystem = KeySystem; } else { this._logger.warn('Key System not supported'); @@ -267,65 +264,65 @@ class FairPlayDrmHandler { return keySystem; } - static _extractContentId(initData: Uint8Array): string { - let link = document.createElement('a'); + public static _extractContentId(initData: Uint8Array): string { + const link = document.createElement('a'); link.href = FairPlayDrmHandler._arrayToString(initData); return link.hostname; } - static _arrayToString(array: Uint8Array): string { + public static _arrayToString(array: Uint8Array): string { return String.fromCharCode.apply(null, new Uint16Array(array.buffer)); } - static _base64DecodeUint8Array(input?: string): Uint8Array { - let raw = window.atob(input); - let rawLength = raw.length; - let array = new Uint8Array(new ArrayBuffer(rawLength)); + public static _base64DecodeUint8Array(input?: string): Uint8Array { + const raw = window.atob(input!); + const rawLength = raw.length; + const array = new Uint8Array(new ArrayBuffer(rawLength)); for (let i = 0; i < rawLength; i++) { array[i] = raw.charCodeAt(i); } return array; } - static _concatInitDataIdAndCertificate(initData: Uint8Array, id: string | Uint16Array, cert: Uint8Array): Uint8Array { + public static _concatInitDataIdAndCertificate(initData: Uint8Array, id: string | Uint16Array, cert: Uint8Array): Uint8Array { if (typeof id === 'string') { id = FairPlayDrmHandler._stringToArray(id); } let offset = 0; - let buffer = new ArrayBuffer(initData.byteLength + 4 + id.byteLength + 4 + cert.byteLength); - let dataView = new DataView(buffer); + const buffer = new ArrayBuffer(initData.byteLength + 4 + id.byteLength + 4 + cert.byteLength); + const dataView = new DataView(buffer); - let initDataArray = new Uint8Array(buffer, offset, initData.byteLength); + const initDataArray = new Uint8Array(buffer, offset, initData.byteLength); initDataArray.set(initData); offset += initData.byteLength; dataView.setUint32(offset, id.byteLength, true); offset += 4; - let idArray = new Uint8Array(buffer, offset, id.byteLength); + const idArray = new Uint8Array(buffer, offset, id.byteLength); idArray.set(id); offset += idArray.byteLength; dataView.setUint32(offset, cert.byteLength, true); offset += 4; - let certArray = new Uint8Array(buffer, offset, cert.byteLength); + const certArray = new Uint8Array(buffer, offset, cert.byteLength); certArray.set(cert); return new Uint8Array(buffer, 0, buffer.byteLength); } - static _stringToArray(string: string): Uint16Array { - let buffer = new ArrayBuffer(string.length * 2); - let array = new Uint16Array(buffer); + public static _stringToArray(string: string): Uint16Array { + const buffer = new ArrayBuffer(string.length * 2); + const array = new Uint16Array(buffer); for (let i = 0, strLen = string.length; i < strLen; i++) { array[i] = string.charCodeAt(i); } return array; } - static _base64EncodeUint8Array(input: Uint8Array): string { - let keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + public static _base64EncodeUint8Array(input: Uint8Array): string { + const keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; let output = ''; let chr1, chr2, chr3, enc1, enc2, enc3, enc4; let i = 0; diff --git a/src/engines/html5/media-source/adapters/native-adapter.js b/src/engines/html5/media-source/adapters/native-adapter.ts similarity index 82% rename from src/engines/html5/media-source/adapters/native-adapter.js rename to src/engines/html5/media-source/adapters/native-adapter.ts index 3c149bc68..2a90fdad1 100644 --- a/src/engines/html5/media-source/adapters/native-adapter.js +++ b/src/engines/html5/media-source/adapters/native-adapter.ts @@ -1,4 +1,3 @@ -//@flow import {CustomEventType, Html5EventType} from '../../../../event/event-type'; import Track from '../../../../track/track'; import VideoTrack from '../../../../track/video-track'; @@ -12,9 +11,12 @@ import * as Utils from '../../../../utils/util'; import FairPlay from '../../../../drm/fairplay'; import Env from '../../../../utils/env'; import Error from '../../../../error/error'; -import defaultConfig from './native-adapter-default-config'; +import defaultConfig from './native-adapter-default-config.json'; import type {FairPlayDrmConfigType} from './fairplay-drm-handler'; import {FairPlayDrmHandler} from './fairplay-drm-handler'; +import {IDrmProtocol} from '../../../../types'; +import {PKABRRestrictionObject, PKDrmConfigObject, PKDrmDataObject, PKMediaSourceObject, PKRequestObject, PKVideoDimensionsObject} from '../../../../types'; +import {IMediaSourceAdapter} from '../../../../types'; const BACK_TO_FOCUS_TIMEOUT: number = 1000; const MAX_MEDIA_RECOVERY_ATTEMPTS: number = 3; @@ -34,7 +36,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @static * @public */ - static id: string = 'NativeAdapter'; + public static id: string = 'NativeAdapter'; /** * The adapter logger @@ -42,124 +44,124 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @static */ - static _logger = BaseMediaSourceAdapter.getLogger(NativeAdapter.id); + protected static _logger = BaseMediaSourceAdapter.getLogger(NativeAdapter.id); /** * static video element for canPlayType testing * @member {} TEST_VIDEO * @type {HTMLVideoElement} * @static */ - static TEST_VIDEO: HTMLVideoElement = Utils.Dom.createElement('video'); + public static TEST_VIDEO: HTMLVideoElement = Utils.Dom.createElement('video'); /** * The DRM protocols implementations for native adapter. * @type {Array} * @private * @static */ - static _drmProtocols: Array = [FairPlay]; + private static _drmProtocols: Array = [FairPlay]; /** * The DRM protocol for the current playback. * @type {?Function} * @private * @static */ - static _drmProtocol: ?IDrmProtocol = null; + private static _drmProtocol: IDrmProtocol | null = null; /** * The supported progressive mime types by the native adapter. * @member {Array} _progressiveMimeTypes * @static * @private */ - static _progressiveMimeTypes: Array = ['video/mp4', 'audio/mp3']; + private static _progressiveMimeTypes: Array = ['video/mp4', 'audio/mp3']; /** * The DRM handler playback. * @type {?FairPlayDrmHandler} * @private */ - _drmHandler: ?FairPlayDrmHandler; + private _drmHandler: FairPlayDrmHandler | undefined; /** * The original progressive sources * @member {Array} - _progressiveSources * @private */ - _progressiveSources: Array; + private _progressiveSources: Array; /** * The player tracks. * @member {Array} - _playerTracks * @private */ - _playerTracks: Array; + private _playerTracks!: Array; /** * The id of _liveDurationChangeInterval * @member {?number} - _liveDurationChangeInterval * @private */ - _liveDurationChangeInterval: ?IntervalID; + protected _liveDurationChangeInterval: number | undefined; /** * The live edge value * @member {number} - _liveEdge * @private */ - _liveEdge: number; + private _liveEdge: number; /** * Id for interval that starts upon waiting/stalling event and check if we are offline * @member {?TimeoutID} - _heartbeatTimeoutId * @private */ - _heartbeatTimeoutId: ?TimeoutID; + private _heartbeatTimeoutId: number | undefined; /** * video dimensions for native check if video track change and which video dimensions is the selected track * @member {?PKVideoDimensionsObject} - video dimensions * @private */ - _videoDimensions: ?PKVideoDimensionsObject; + private _videoDimensions: PKVideoDimensionsObject | undefined; - _loadPromiseReject: ?Function; + private _loadPromiseReject: ((error: Error) => any) | undefined; - _lastTimeUpdate: number = 0; + private _lastTimeUpdate: number = 0; - _waitingEventTriggered: ?boolean = false; + private _waitingEventTriggered: boolean = false; - _wasCurrentTimeSetSuccessfully: boolean; + private _wasCurrentTimeSetSuccessfully!: boolean; - _segmentDuration: number = 0; + private _segmentDuration: number = 0; - _startTimeOfDvrWindowInterval: IntervalID; + private _startTimeOfDvrWindowInterval: number | undefined; - _startTimeOfDvrWindow: number = 0; + private _startTimeOfDvrWindow: number = 0; /** * A counter to track the number of attempts to recover from media error * @type {number} * @private */ - _mediaErrorRecoveryAttempts: number = 0; + private _mediaErrorRecoveryAttempts: number = 0; /** * The last time detach occurred * @type {number} * @private */ - _lastTimeDetach: number = NaN; + private _lastTimeDetach: number = NaN; /** * The start time after attach * @type {number} * @private */ - _startTimeAttach: number = NaN; + private _startTimeAttach: number = NaN; /** * Map from our text track to native text track * @type {number} * @private */ - _nativeTextTracksMap = {}; + private _nativeTextTracksMap = {}; /** * * @type {number} * @private */ - _captionsHidden: boolean = false; + private _captionsHidden: boolean = false; /** * Checks if NativeAdapter can play a given mime type. * @function canPlayType @@ -167,7 +169,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {boolean} - Whether the native adapter can play a specific mime type * @static */ - static canPlayType(mimeType: string): boolean { + public static canPlayType(mimeType: string): boolean { let canPlayType = false; if (typeof mimeType === 'string') { canPlayType = !!NativeAdapter.TEST_VIDEO.canPlayType(mimeType.toLowerCase()); @@ -184,16 +186,16 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {boolean} - Whether the native adapter can play a specific drm data. * @static */ - static canPlayDrm(drmData: Array, drmConfig: PKDrmConfigObject): boolean { + public static canPlayDrm(drmData: Array, drmConfig: PKDrmConfigObject): boolean { NativeAdapter._drmProtocol = null; - for (let drmProtocol of NativeAdapter._drmProtocols) { + for (const drmProtocol of NativeAdapter._drmProtocols) { if (drmProtocol.isConfigured(drmData, drmConfig)) { NativeAdapter._drmProtocol = drmProtocol; break; } } if (!NativeAdapter._drmProtocol) { - for (let drmProtocol of NativeAdapter._drmProtocols) { + for (const drmProtocol of NativeAdapter._drmProtocols) { if (drmProtocol.canPlayDrm(drmData)) { NativeAdapter._drmProtocol = drmProtocol; } @@ -211,9 +213,9 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {IMediaSourceAdapter} - New instance of the run time media source adapter. * @static */ - static createAdapter(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: Object): IMediaSourceAdapter { + public static createAdapter(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: any): IMediaSourceAdapter { NativeAdapter._logger.debug('createAdapter'); - const adapterConfig: Object = { + const adapterConfig: any = { displayTextTrack: false, progressiveSources: [] }; @@ -254,9 +256,9 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @param {PKMediaSourceObject} source - The source object * @param {Object} config - The player configuration */ - constructor(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: Object) { - NativeAdapter._logger.debug('Creating adapter'); + constructor(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: any) { super(videoElement, source, config); + NativeAdapter._logger.debug('Creating adapter'); this._config = Utils.Object.mergeDeep({}, defaultConfig, this._config); this._progressiveSources = config.progressiveSources; this._liveEdge = 0; @@ -269,7 +271,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @param {Error} error - the error to dispatch * @returns {void} */ - _dispatchErrorCallback(error: Error): void { + private _dispatchErrorCallback(error: Error): void { this._trigger(Html5EventType.ERROR, error); } @@ -279,7 +281,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @param {number} data - an object containing data regarding the license load * @returns {void} */ - _dispatchDRMLicenseLoaded(data: any): void { + private _dispatchDRMLicenseLoaded(data: any): void { this._trigger(CustomEventType.DRM_LICENSE_LOADED, data); } @@ -288,7 +290,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _maybeSetDrmPlayback(): void { + private _maybeSetDrmPlayback(): void { if (NativeAdapter._drmProtocol && this._sourceObj && this._sourceObj.drmData) { const drmConfig: FairPlayDrmConfigType = { licenseUrl: '', @@ -311,8 +313,8 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @private */ - _setProgressiveSource(): void { - let suitableTrack = getSuitableSourceForResolution(this._progressiveSources, this._videoElement.offsetWidth, this._videoElement.offsetHeight); + private _setProgressiveSource(): void { + const suitableTrack = getSuitableSourceForResolution(this._progressiveSources, this._videoElement.offsetWidth, this._videoElement.offsetHeight); if (suitableTrack) { this._sourceObj = suitableTrack; } @@ -324,7 +326,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {boolean} - is progressive source * @private */ - _isProgressivePlayback(): boolean { + private _isProgressivePlayback(): boolean { return this._sourceObj ? NativeAdapter._progressiveMimeTypes.includes(this._sourceObj.mimetype.toLowerCase()) : false; } @@ -334,11 +336,11 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @function load * @returns {Promise} - The loaded data */ - load(startTime: ?number): Promise { + public load(startTime?: number): Promise<{tracks: Track[]}> { this._wasCurrentTimeSetSuccessfully = false; this._maybeSetDrmPlayback(); if (!this._loadPromise) { - this._loadPromise = new Promise((resolve, reject) => { + this._loadPromise = new Promise<{tracks: Track[]}>((resolve, reject) => { this._lastTimeUpdate = startTime || 0; const realStartTime = typeof startTime === 'number' ? startTime : -1; const playbackStartTime = this._startTimeAttach || realStartTime; @@ -386,7 +388,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _handleDecodeError(error: MediaError): void { + private _handleDecodeError(error: MediaError): void { NativeAdapter._logger.debug('handleDecodeError', error); const prevCurrTime = this._videoElement.currentTime; const prevActiveAudioTrack = this._getActivePKAudioTrack(); @@ -412,11 +414,11 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { }); } - handleMediaError(error: ?MediaError): boolean { + public handleMediaError(error?: MediaError): boolean { if (this._loadPromiseReject) { this._loadPromiseReject(new Error(Error.Severity.CRITICAL, Error.Category.MEDIA, Error.Code.NATIVE_ADAPTER_LOAD_FAILED, error)); return true; - } else if (error && error.code === window.MediaError.MEDIA_ERR_DECODE) { + } else if (error && error.code === MediaError.MEDIA_ERR_DECODE) { this._mediaErrorRecoveryAttempts++; if (this._mediaErrorRecoveryAttempts <= MAX_MEDIA_RECOVERY_ATTEMPTS) { this._handleDecodeError(error); @@ -431,7 +433,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @public * @returns {void} */ - attachMediaSource(): void { + public attachMediaSource(): void { this._startTimeAttach = this._lastTimeDetach; this._lastTimeDetach = NaN; } @@ -441,16 +443,16 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @public * @returns {void} */ - detachMediaSource(): void { + public detachMediaSource(): void { this._lastTimeDetach = this._videoElement.currentTime; if (this._videoElement && this._videoElement.src) { Utils.Dom.setAttribute(this._videoElement, 'src', ''); Utils.Dom.removeAttribute(this._videoElement, 'src'); } - this._loadPromise = null; + this._loadPromise = undefined; } - _setSrc(): Promise<*> { + private _setSrc(): Promise { const pkRequest: PKRequestObject = {url: this._sourceObj ? this._sourceObj.url : '', body: null, headers: {}}; let requestFilterPromise; if (typeof Utils.Object.getPropertyPath(this._config, 'network.requestFilter') === 'function') { @@ -513,7 +515,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _onPlaying(startTime: ?number): void { + private _onPlaying(startTime?: number): void { if (this.isLive()) { this._setStartTime(startTime); } @@ -526,14 +528,14 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _onLoadedData(resolve: Function, startTime: ?number): void { - const parseTracksAndResolve = () => { + private _onLoadedData(resolve: (value: (PromiseLike<{tracks: Track[]}> | {tracks: Track[]})) => void, startTime?: number): void { + const parseTracksAndResolve = () : void => { this._playerTracks = this._getParsedTracks(); this._addNativeAudioTrackChangeListener(); this._addNativeTextTrackChangeListener(); this._addNativeTextTrackAddedListener(); NativeAdapter._logger.debug('The source has been loaded successfully'); - this._loadPromiseReject = null; + this._loadPromiseReject = undefined; resolve({tracks: this._playerTracks}); if (this.isLive()) { this._handleLiveDurationChange(); @@ -550,14 +552,14 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { this._startTimeAttach = NaN; } - _setStartTime(startTime: ?number) { + private _setStartTime(startTime?: number): void { if (typeof startTime === 'number' && startTime > -1) { this._videoElement.currentTime = startTime; } this._wasCurrentTimeSetSuccessfully = true; } - _onTimeUpdate(): void { + private _onTimeUpdate(): void { if (!this._videoElement.paused) { if (this._videoElement.currentTime > this._lastTimeUpdate) { if (this._waitingEventTriggered) { @@ -575,14 +577,14 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { this._handleVideoTracksChange(); } - _syncCurrentTime(): void { + private _syncCurrentTime(): void { this._lastTimeUpdate = this._videoElement.currentTime; } - _resetHeartbeatTimeout(): void { + private _resetHeartbeatTimeout(): void { this._lastTimeUpdate = this._videoElement.currentTime; this._clearHeartbeatTimeout(); - const onTimeout = () => { + const onTimeout = () : void => { this._clearHeartbeatTimeout(); this._trigger( Html5EventType.ERROR, @@ -597,15 +599,16 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { this._heartbeatTimeoutId = setTimeout(onTimeout, this._config.heartbeatTimeout); } - _clearHeartbeatTimeout(): void { + private _clearHeartbeatTimeout(): void { if (this._heartbeatTimeoutId) { clearTimeout(this._heartbeatTimeoutId); - this._heartbeatTimeoutId = null; + this._heartbeatTimeoutId = undefined; } } - _handleVideoTracksChange(): void { + private _handleVideoTracksChange(): void { if (!this._isProgressivePlayback()) { + // @ts-expect-error - Property 'videoTracks' does not exist on type 'HTMLVideoElement' const {videoHeight, videoWidth, videoTracks} = this._videoElement; if (!this._videoDimensions || videoHeight !== this._videoDimensions.videoHeight || videoWidth !== this._videoDimensions.videoWidth) { this._videoDimensions = {videoHeight, videoWidth}; @@ -614,7 +617,9 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { height: videoHeight, width: videoWidth, active: true, - index: Array.from(videoTracks).findIndex((track: VideoTrack) => track.selected) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + index: Array.from(videoTracks).findIndex((track) => track.selected) }; this._onTrackChanged(new VideoTrack(setting)); } @@ -626,7 +631,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @function destroy * @returns {Promise<*>} - The destroy promise. */ - destroy(): Promise<*> { + public destroy(): Promise { NativeAdapter._logger.debug('destroy'); return new Promise((resolve, reject) => { //must be called before super config cause it requires config which is reset in super destroy @@ -636,19 +641,19 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { this._drmHandler && this._drmHandler.destroy(); this._waitingEventTriggered = false; this._progressiveSources = []; - this._loadPromise = null; + this._loadPromise = undefined; this._nativeTextTracksMap = {}; - this._loadPromiseReject = null; + this._loadPromiseReject = undefined; this._liveEdge = 0; this._lastTimeUpdate = 0; this._lastTimeDetach = NaN; this._startTimeAttach = NaN; - this._videoDimensions = null; + this._videoDimensions = undefined; this._clearHeartbeatTimeout(); clearInterval(this._startTimeOfDvrWindowInterval); if (this._liveDurationChangeInterval) { clearInterval(this._liveDurationChangeInterval); - this._liveDurationChangeInterval = null; + this._liveDurationChangeInterval = undefined; } resolve(); }, @@ -663,13 +668,13 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @private */ - _maybeRemoveSourceTag(): void { + private _maybeRemoveSourceTag(): void { if (this._config.useSourceTag && this._videoElement) { - const source = this._videoElement.firstChild; + const source = this._videoElement.firstChild as HTMLElement; if (source) { - Utils.Dom.setAttribute(source, 'src', ''); - Utils.Dom.removeAttribute(source, 'src'); - Utils.Dom.removeChild(this._videoElement, source); + source.setAttribute('src', ''); + source.removeAttribute('src'); + this._videoElement.removeChild(source); } } } @@ -680,11 +685,11 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {Array} - The parsed tracks * @private */ - _getParsedTracks(): Array { + private _getParsedTracks(): Array { const videoTracks = this._getParsedVideoTracks(); const audioTracks = this._getParsedAudioTracks(); const textTracks = this._getParsedTextTracks(); - return videoTracks.concat(audioTracks).concat(textTracks); + return [...videoTracks, ...audioTracks, ...textTracks]; } /** @@ -693,7 +698,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {Array} - The parsed video tracks * @private */ - _getParsedVideoTracks(): Array { + private _getParsedVideoTracks(): Array { if (this._isProgressivePlayback()) { return this._getParsedProgressiveVideoTracks(); } else { @@ -707,9 +712,9 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {Array} - The parsed progressive video tracks * @private */ - _getParsedProgressiveVideoTracks(): Array { + private _getParsedProgressiveVideoTracks(): Array { const videoTracks = this._progressiveSources; - const parsedTracks = []; + const parsedTracks: VideoTrack[] = []; if (videoTracks) { for (let i = 0; i < videoTracks.length; i++) { const settings = { @@ -732,10 +737,11 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {Array} - The parsed adaptive video tracks * @private */ - _getParsedAdaptiveVideoTracks(): Array { + private _getParsedAdaptiveVideoTracks(): Array { //TODO check adaptation in safari hls + // @ts-expect-error - Property 'videoTracks' does not exist on type 'HTMLVideoElement' const videoTracks = this._videoElement.videoTracks; - const parsedTracks = []; + const parsedTracks: VideoTrack[] = []; if (videoTracks) { for (let i = 0; i < videoTracks.length; i++) { const settings = { @@ -758,9 +764,10 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {Array} - The parsed audio tracks * @private */ - _getParsedAudioTracks(): Array { + private _getParsedAudioTracks(): Array { + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' const audioTracks = this._videoElement.audioTracks; - const parsedTracks = []; + const parsedTracks: AudioTrack[] = []; if (audioTracks) { for (let i = 0; i < audioTracks.length; i++) { const settings = { @@ -782,11 +789,11 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {Array} - The parsed text tracks * @private */ - _getParsedTextTracks(): Array { + private _getParsedTextTracks(): Array { const captionsTextTrackLabels = [this._config.captionsTextTrack1Label, this._config.captionsTextTrack2Label]; const captionsTextTrackLanguageCodes = [this._config.captionsTextTrack1LanguageCode, this._config.captionsTextTrack2LanguageCode]; const textTracks = this._videoElement.textTracks; - const parsedTracks = []; + const parsedTracks: PKTextTrack[] = []; if (textTracks) { for (let i = 0; i < textTracks.length; i++) { if (!PKTextTrack.isExternalTrack(textTracks[i])) { @@ -819,7 +826,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { return parsedTracks; } - _maybeShow708Captions(): void { + private _maybeShow708Captions(): void { const captions = Array.from(this._videoElement.textTracks).filter(track => track.kind === PKTextTrack.KIND.CAPTIONS); const activeCaption = captions.find(track => track.mode === PKTextTrack.MODE.SHOWING || track.mode === PKTextTrack.MODE.HIDDEN); const textTrack = activeCaption || captions[0]; @@ -840,7 +847,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @public */ - selectVideoTrack(videoTrack: VideoTrack): void { + public selectVideoTrack(videoTrack: VideoTrack): void { if (this._isProgressivePlayback()) { this._selectProgressiveVideoTrack(videoTrack); } else { @@ -855,11 +862,11 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @public */ - _selectProgressiveVideoTrack(videoTrack: VideoTrack): void { - let videoTracks = this._progressiveSources; + private _selectProgressiveVideoTrack(videoTrack: VideoTrack): void { + const videoTracks = this._progressiveSources; if (videoTrack instanceof VideoTrack && videoTracks && videoTracks[videoTrack.index]) { - let currentTime = this._videoElement.currentTime; - let paused = this._videoElement.paused; + const currentTime = this._videoElement.currentTime; + const paused = this._videoElement.paused; videoTrack.active = true; this._sourceObj = videoTracks[videoTrack.index]; this._eventManager.listenOnce(this._videoElement, Html5EventType.LOADED_DATA, () => { @@ -896,7 +903,8 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @public */ - selectAdaptiveVideoTrack(videoTrack: VideoTrack): void { + private selectAdaptiveVideoTrack(videoTrack: VideoTrack): void { + // @ts-expect-error - Property 'videoTracks' does not exist on type 'HTMLVideoElement' const videoTracks = this._videoElement.videoTracks; if (videoTrack instanceof VideoTrack && videoTracks && videoTracks[videoTrack.index]) { this._disableVideoTracks(); @@ -912,8 +920,9 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @public */ - selectAudioTrack(audioTrack: AudioTrack): void { + public selectAudioTrack(audioTrack: AudioTrack): void { NativeAdapter._logger.debug('selectAudioTrack'); + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' const audioTracks = this._videoElement.audioTracks; if (audioTrack instanceof AudioTrack && audioTracks && audioTracks[audioTrack.index]) { this._removeNativeAudioTrackChangeListener(); @@ -928,8 +937,10 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _removeNativeAudioTrackChangeListener(): void { + private _removeNativeAudioTrackChangeListener(): void { + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' if (this._videoElement.audioTracks) { + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' this._eventManager.unlisten(this._videoElement.audioTracks, 'change'); } } @@ -939,18 +950,20 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _addNativeAudioTrackChangeListener(): void { + private _addNativeAudioTrackChangeListener(): void { + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' if (this._videoElement.audioTracks) { + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' this._eventManager.listen(this._videoElement.audioTracks, 'change', () => this._onNativeAudioTrackChange()); } } - _getPKAudioTracks(): Array { + private _getPKAudioTracks(): Array { const audioTracks = this._playerTracks.filter(track => track instanceof AudioTrack); - return ((audioTracks: Array): Array); + return audioTracks; } - _getActivePKAudioTrack(): ?AudioTrack { + private _getActivePKAudioTrack(): AudioTrack | undefined { const pkAudioTracks = this._getPKAudioTracks(); return pkAudioTracks.find(track => track.active === true); } @@ -960,9 +973,11 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _onNativeAudioTrackChange(): void { - const getActiveVidAudioTrackIndex = () => { + private _onNativeAudioTrackChange(): void { + const getActiveVidAudioTrackIndex = (): number => { + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' for (let i = 0; i < this._videoElement.audioTracks.length; i++) { + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' const audioTrack = this._videoElement.audioTracks[i]; if (audioTrack.enabled) { return i; @@ -990,7 +1005,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @public */ - selectTextTrack(textTrack: PKTextTrack): void { + public selectTextTrack(textTrack: PKTextTrack): void { if (textTrack instanceof PKTextTrack && PKTextTrack.isNativeTextTrack(textTrack)) { this._removeNativeTextTrackChangeListener(); const selectedTrack = this._nativeTextTracksMap[textTrack.index]; @@ -1008,7 +1023,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _removeNativeTextTrackChangeListener(): void { + private _removeNativeTextTrackChangeListener(): void { if (this._videoElement.textTracks) { this._eventManager.unlisten(this._videoElement.textTracks, 'change'); } @@ -1019,17 +1034,17 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _addNativeTextTrackChangeListener(): void { + private _addNativeTextTrackChangeListener(): void { if (this._videoElement.textTracks) { this._eventManager.listen(this._videoElement.textTracks, 'change', () => this._onNativeTextTrackChange()); } } - _getPKTextTracks(): Array { - return this._playerTracks.filter(track => track instanceof PKTextTrack); + private _getPKTextTracks(): Array { + return this._playerTracks.filter(track => track instanceof PKTextTrack) as PKTextTrack[]; } - _getActivePKTextTrack(): ?TextTrack { + private _getActivePKTextTrack(): PKTextTrack | undefined { const pkTextTracks = this._getPKTextTracks(); return pkTextTracks.find(track => track.active === true); } @@ -1039,7 +1054,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _onNativeTextTrackChange(): void { + private _onNativeTextTrackChange(): void { const pkTextTracks = this._getPKTextTracks(); const pkOffTrack = pkTextTracks.find(track => track.language === 'off'); const getActiveVidTextTrackIndex = (): number => { @@ -1056,7 +1071,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { if (vidIndex !== pkIndex) { // In case no text track with 'showing' mode // we need to set the off track - if (vidIndex == -1) { + if (vidIndex === -1) { if (pkOffTrack) { NativeAdapter._logger.debug('Native selection of track, update the player text track (' + pkIndex + ' -> off)'); this._onTrackChanged(pkOffTrack); @@ -1081,7 +1096,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {string} the mode string * @private */ - _getDisplayTextTrackModeString(): string { + private _getDisplayTextTrackModeString(): string { return this._config.displayTextTrack ? PKTextTrack.MODE.SHOWING : PKTextTrack.MODE.HIDDEN; } @@ -1090,7 +1105,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _addNativeTextTrackAddedListener(): void { + private _addNativeTextTrackAddedListener(): void { if (!this._config.displayTextTrack && this._videoElement.textTracks) { this._eventManager.listen(this._videoElement.textTracks, 'addtrack', () => this._onNativeTextTrackAdded()); } @@ -1101,7 +1116,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _onNativeTextTrackAdded(): void { + private _onNativeTextTrackAdded(): void { this._playerTracks = this._getParsedTracks(); this._trigger(CustomEventType.TRACKS_CHANGED, {tracks: this._playerTracks}); } @@ -1112,7 +1127,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @public */ - hideTextTrack(): void { + public hideTextTrack(): void { this.disableNativeTextTracks(); } @@ -1122,7 +1137,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @public */ - enableAdaptiveBitrate(): void { + public enableAdaptiveBitrate(): void { NativeAdapter._logger.warn('Enabling adaptive bitrate is not supported for native playback'); } @@ -1134,7 +1149,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {boolean} - Whether adaptive bitrate is enabled. * @public */ - isAdaptiveBitrateEnabled(): boolean { + public isAdaptiveBitrateEnabled(): boolean { return !this._isProgressivePlayback(); } @@ -1145,7 +1160,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @public */ - applyABRRestriction(restrictions: PKABRRestrictionObject): void { + public applyABRRestriction(restrictions: PKABRRestrictionObject): void { Utils.Object.createPropertyPath(this._config, 'abr.restrictions', restrictions); this._maybeApplyAbrRestrictions(restrictions); } @@ -1156,10 +1171,10 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @param {PKABRRestrictionObject} restrictions - abt config object * @returns {void} */ - _maybeApplyAbrRestrictions(restrictions: PKABRRestrictionObject): void { + private _maybeApplyAbrRestrictions(restrictions: PKABRRestrictionObject): void { if (this._isProgressivePlayback()) { const videoTracks = this._playerTracks.filter(track => track instanceof VideoTrack); - const availableTracks = filterTracksByRestriction(videoTracks, restrictions); + const availableTracks = filterTracksByRestriction(videoTracks as VideoTrack[], restrictions); const activeTrackInRange = availableTracks.find(track => track.active); if (!activeTrackInRange && availableTracks.length) { this.selectVideoTrack(availableTracks[0]); @@ -1174,8 +1189,9 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _disableVideoTracks(): void { - let videoTracks = this._videoElement.videoTracks; + private _disableVideoTracks(): void { + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' + const videoTracks = this._videoElement.videoTracks; if (videoTracks) { for (let i = 0; i < videoTracks.length; i++) { videoTracks[i].selected = false; @@ -1189,12 +1205,13 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @private * @returns {void} */ - _switchAudioTrack(index: number): void { + protected _switchAudioTrack(index: number): void { NativeAdapter._logger.debug('_switchAudioTracks'); + // @ts-expect-error - Property 'audioTracks' does not exist on type 'HTMLVideoElement' const videoElementAudioTracks = this._videoElement.audioTracks; if (videoElementAudioTracks) { for (let i = 0; i < videoElementAudioTracks.length; i++) { - if (i == index) { + if (i === index) { videoElementAudioTracks[i].enabled = true; } else { videoElementAudioTracks[i].enabled = false; @@ -1208,7 +1225,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {number} - live edge * @private */ - _getLiveEdge(): number { + protected _getLiveEdge(): number { if (this._videoElement.seekable.length) { return this._videoElement.seekable.end(this._videoElement.seekable.length - 1); } else if (this._videoElement.buffered.length) { @@ -1218,7 +1235,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { } } - get liveDuration() { + public get liveDuration(): number { return this._getLiveEdge(); } @@ -1228,7 +1245,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @public */ - seekToLiveEdge(): void { + public seekToLiveEdge(): void { try { this._videoElement.currentTime = this._getLiveEdge(); } catch (e) { @@ -1236,7 +1253,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { } } - getSegmentDuration(): number { + public getSegmentDuration(): number { return this._segmentDuration; } @@ -1246,11 +1263,11 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {boolean} - Whether playback is live. * @public */ - isLive(): boolean { + public isLive(): boolean { return this._videoElement.duration === Infinity; } - isOnLiveEdge(): boolean { + public isOnLiveEdge(): boolean { return this._wasCurrentTimeSetSuccessfully ? super.isOnLiveEdge() : false; } @@ -1260,13 +1277,13 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @private */ - _handleLiveDurationChange(): void { + private _handleLiveDurationChange(): void { this._liveDurationChangeInterval = setInterval(() => { this._calculateSegmentDuration(); const liveEdge = this._getLiveEdge(); if (this._liveEdge !== liveEdge) { this._liveEdge = liveEdge; - this._videoElement.dispatchEvent(new window.Event(Html5EventType.DURATION_CHANGE)); + this._videoElement.dispatchEvent(new Event(Html5EventType.DURATION_CHANGE)); } }, LIVE_DURATION_INTERVAL_MS); } @@ -1277,7 +1294,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {void} * @private */ - _calculateSegmentDuration() { + private _calculateSegmentDuration(): void { if (this._videoElement.seekable.length > 0 && this._videoElement.seekable.start(0) === 0) { const {buffered, seekable} = this._videoElement; if (buffered.length && seekable.length) { @@ -1296,7 +1313,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { * @returns {Number} - start time of DVR window. * @public */ - _getStartTimeOfDvrWindow(): number { + private _getStartTimeOfDvrWindow(): number { if (this.isLive() && this._videoElement.seekable.length) { return this._videoElement.seekable.start(0); } else { @@ -1304,11 +1321,11 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { } } - getStartTimeOfDvrWindow() { + public getStartTimeOfDvrWindow(): number { return this._startTimeOfDvrWindow; } - _setStarTimeOfDvrWindowInterval() { + private _setStarTimeOfDvrWindowInterval(): void { const intervalTime = 1000; this._startTimeOfDvrWindowInterval = setInterval(() => { //get Segment duration @@ -1326,7 +1343,7 @@ export default class NativeAdapter extends BaseMediaSourceAdapter { }, intervalTime); } - getDrmInfo(): ?PKDrmDataObject { - return this._drmHandler ? this._drmHandler.getDrmInfo() : null; + public getDrmInfo(): PKDrmDataObject | null { + return this._drmHandler ? this._drmHandler!.getDrmInfo() : null; } } diff --git a/src/engines/html5/media-source/base-media-source-adapter.js b/src/engines/html5/media-source/base-media-source-adapter.ts similarity index 62% rename from src/engines/html5/media-source/base-media-source-adapter.js rename to src/engines/html5/media-source/base-media-source-adapter.ts index dc3d9b722..23ffd802c 100644 --- a/src/engines/html5/media-source/base-media-source-adapter.js +++ b/src/engines/html5/media-source/base-media-source-adapter.ts @@ -1,17 +1,18 @@ -//@flow -/* eslint-disable no-unused-vars */ -import FakeEvent from '../../../event/fake-event'; -import FakeEventTarget from '../../../event/fake-event-target'; +import { FakeEvent } from '../../../event/fake-event'; +import { FakeEventTarget } from '../../../event/fake-event-target'; import Error from '../../../error/error'; -import {CustomEventType, Html5EventType} from '../../../event/event-type'; +import { CustomEventType, Html5EventType } from '../../../event/event-type'; import getLogger from '../../../utils/logger'; import Track from '../../../track/track'; import VideoTrack from '../../../track/video-track'; import AudioTrack from '../../../track/audio-track'; -import TextTrack from '../../../track/text-track'; -import EventManager from '../../../event/event-manager'; +import PKTextTrack from '../../../track/text-track'; +import { EventManager } from '../../../event/event-manager'; import ImageTrack from '../../../track/image-track'; -import {ThumbnailInfo} from '../../../thumbnail/thumbnail-info'; +import { ThumbnailInfo } from '../../../thumbnail/thumbnail-info'; +import { IMediaSourceAdapter } from '../../../types'; +import { PKABRRestrictionObject, PKDrmDataObject, PKMediaSourceCapabilities, PKMediaSourceObject } from '../../../types'; +import { ILogger } from 'js-logger'; const CURRENT_OR_NEXT_SEGMENT_COUNT: number = 2; @@ -22,49 +23,49 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @static * @private */ - static id: string = 'BaseAdapter'; + public static id: string = 'BaseAdapter'; /** * Passing the getLogger function to the actual media source adapter. * @type {Function} * @static */ - static getLogger: Function = getLogger; + public static getLogger: (name?: string) => ILogger = getLogger; - static _logger = BaseMediaSourceAdapter.getLogger(BaseMediaSourceAdapter.id); + protected static _logger = BaseMediaSourceAdapter.getLogger(BaseMediaSourceAdapter.id); /** * The adapter config. * @member {Object} _config * @private */ - _config: Object; + protected _config: any; /** * The source object. * @member {PKMediaSourceObject} _sourceObj * @private */ - _sourceObj: ?PKMediaSourceObject; + protected _sourceObj?: PKMediaSourceObject; /** * The dom video element. * @member {HTMLVideoElement} _videoElement * @private */ - _videoElement: HTMLVideoElement; + protected _videoElement: HTMLVideoElement; /** * The adapter capabilities * @private */ - _capabilities: PKMediaSourceCapabilities = {fpsControl: false}; + protected _capabilities: PKMediaSourceCapabilities = { fpsControl: false }; /** * The event manager of the adapter. * @type {EventManager} * @private */ - _eventManager: EventManager; + protected _eventManager: EventManager; /** * The load promise @@ -72,14 +73,14 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @type {Promise<{tracks: Array}>} * @private */ - _loadPromise: Promise<{tracks: Array}> | null; + protected _loadPromise: Promise<{ tracks: Array }> | undefined; /** * The duration change handler. * @type {Function} * @private */ - _onDurationChanged: Function; + private _onDurationChanged: (...args: any) => any; /** * Checks if the media source adapter is supported. @@ -87,7 +88,7 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @returns {boolean} - Whether the media source adapter is supported. * @static */ - static isSupported(): boolean { + public static isSupported(): boolean { return true; } @@ -96,8 +97,10 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @static * @returns {boolean} - Whether the media source is supported. */ - static isMSESupported(): boolean { - const mediaSource = window.MediaSource || window.WebKitMediaSource; + public static isMSESupported(): boolean { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const mediaSource = MediaSource || window.WebKitMediaSource; // isTypeSupported isn't exist or not a function for old MSE implementation return !!mediaSource && typeof mediaSource.isTypeSupported === 'function'; } @@ -108,12 +111,12 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @param {PKMediaSourceObject} source - The source object. * @param {Object} config - The media source adapter configuration. */ - constructor(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: Object = {}) { + constructor(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: any = {}) { super(); this._videoElement = videoElement; this._sourceObj = source; this._config = config; - this._onDurationChanged = () => { + this._onDurationChanged = (): void => { if (this.isLive() && this._videoElement.paused) { this._trigger(Html5EventType.TIME_UPDATE); } @@ -127,11 +130,11 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @function destroy * @returns {void} */ - destroy(): Promise<*> { - this._sourceObj = null; + public destroy(): Promise { + this._sourceObj = undefined; this._config = {}; this.disableNativeTextTracks(); - this._videoElement.removeEventListener(Html5EventType.DURATION_CHANGE, this._onDurationChanged); + this._videoElement.removeEventListener(Html5EventType.DURATION_CHANGE as keyof HTMLVideoElementEventMap, this._onDurationChanged); this._eventManager.destroy(); return Promise.resolve(); } @@ -142,19 +145,19 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @private * @returns {void} */ - _onTrackChanged(track: Track): void { + protected _onTrackChanged(track: VideoTrack | AudioTrack | PKTextTrack | ImageTrack): void { if (track instanceof VideoTrack) { BaseMediaSourceAdapter._logger.debug('Video track changed', track); - this._trigger(CustomEventType.VIDEO_TRACK_CHANGED, {selectedVideoTrack: track}); + this._trigger(CustomEventType.VIDEO_TRACK_CHANGED, { selectedVideoTrack: track }); } else if (track instanceof AudioTrack) { BaseMediaSourceAdapter._logger.debug('Audio track changed', track); - this._trigger(CustomEventType.AUDIO_TRACK_CHANGED, {selectedAudioTrack: track}); - } else if (track instanceof TextTrack) { + this._trigger(CustomEventType.AUDIO_TRACK_CHANGED, { selectedAudioTrack: track }); + } else if (track instanceof PKTextTrack) { BaseMediaSourceAdapter._logger.debug('Text track changed', track); - this._trigger(CustomEventType.TEXT_TRACK_CHANGED, {selectedTextTrack: track}); + this._trigger(CustomEventType.TEXT_TRACK_CHANGED, { selectedTextTrack: track }); } else if (track instanceof ImageTrack) { BaseMediaSourceAdapter._logger.debug('Image track changed', track); - this._trigger(CustomEventType.IMAGE_TRACK_CHANGED, {selectedImageTrack: track}); + this._trigger(CustomEventType.IMAGE_TRACK_CHANGED, { selectedImageTrack: track }); } } @@ -164,73 +167,73 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @param {?Object} payload - The event payload. * @returns {void} */ - _trigger(name: string, payload?: Object): void { + protected _trigger(name: string, payload?: any): void { this.dispatchEvent(new FakeEvent(name, payload)); } /** Must implemented methods by the derived media source adapter **/ - - static canPlayType(mimeType: string, preferNative: boolean): boolean { + // eslint-disable-next-line + public static canPlayType(mimeType: string, preferNative: boolean): boolean { return BaseMediaSourceAdapter._throwNotImplementedError('static canPlayType'); } - load(): Promise { + public load(): Promise<{ tracks: Track[] }> { return BaseMediaSourceAdapter._throwNotImplementedError('load'); } - - selectVideoTrack(videoTrack: VideoTrack): void { + // eslint-disable-next-line + public selectVideoTrack(videoTrack: VideoTrack): void { return BaseMediaSourceAdapter._throwNotImplementedError('selectVideoTrack'); } - - selectAudioTrack(audioTrack: AudioTrack): void { + // eslint-disable-next-line + public selectAudioTrack(audioTrack: AudioTrack): void { BaseMediaSourceAdapter._throwNotImplementedError('selectAudioTrack'); } - - selectTextTrack(textTrack: TextTrack): void { + // eslint-disable-next-line + public selectTextTrack(textTrack: PKTextTrack): void { BaseMediaSourceAdapter._throwNotImplementedError('selectTextTrack'); } + // eslint-disable-next-line + public selectImageTrack(imageTrack: ImageTrack): void {} - selectImageTrack(imageTrack: ImageTrack): void {} - - hideTextTrack(): void { + public hideTextTrack(): void { BaseMediaSourceAdapter._throwNotImplementedError('hideTextTrack'); } - enableAdaptiveBitrate(): void { + public enableAdaptiveBitrate(): void { BaseMediaSourceAdapter._throwNotImplementedError('enableAdaptiveBitrate'); } - isAdaptiveBitrateEnabled(): boolean { + public isAdaptiveBitrateEnabled(): boolean { return BaseMediaSourceAdapter._throwNotImplementedError('isAdaptiveBitrateEnabled'); } - - applyABRRestriction(restrictions: PKABRRestrictionObject): void { + // eslint-disable-next-line + public applyABRRestriction(restrictions: PKABRRestrictionObject): void { return BaseMediaSourceAdapter._throwNotImplementedError('applyABRRestriction'); } - _getLiveEdge(): number { + protected _getLiveEdge(): number { return BaseMediaSourceAdapter._throwNotImplementedError('_getLiveEdge'); } - seekToLiveEdge(): void { + public seekToLiveEdge(): void { BaseMediaSourceAdapter._throwNotImplementedError('seekToLiveEdge'); } - isLive(): boolean { + public isLive(): boolean { return BaseMediaSourceAdapter._throwNotImplementedError('isLive'); } - isOnLiveEdge(): boolean { + public isOnLiveEdge(): boolean { return this.liveDuration - this._videoElement.currentTime <= this.getSegmentDuration() * CURRENT_OR_NEXT_SEGMENT_COUNT; } - - setMaxBitrate(bitrate: number): void { + // eslint-disable-next-line + public setMaxBitrate(bitrate: number): void { return; } - attachMediaSource(): void {} + public attachMediaSource(): void {} - detachMediaSource(): void {} + public detachMediaSource(): void {} /** * Handling live time update (as is not triggered when video is paused, but the current time changed) @@ -238,7 +241,7 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @returns {void} * @private */ - _handleLiveTimeUpdate(): void { + private _handleLiveTimeUpdate(): void { this._videoElement.addEventListener(Html5EventType.DURATION_CHANGE, this._onDurationChanged); } @@ -247,10 +250,10 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @public * @returns {void} */ - disableNativeTextTracks(): void { - Array.from(this._videoElement.textTracks).forEach(track => { - if (TextTrack.isNativeTextTrack(track) && !TextTrack.isExternalTrack(track)) { - track.mode = TextTrack.MODE.DISABLED; + public disableNativeTextTracks(): void { + Array.from(this._videoElement.textTracks).forEach((track) => { + if (PKTextTrack.isNativeTextTrack(track) && !PKTextTrack.isExternalTrack(track)) { + track.mode = PKTextTrack.MODE.DISABLED; } }); } @@ -261,23 +264,24 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @returns {boolean} - if it can recover or not * @public */ - handleMediaError(event: ?MediaError): boolean { + // eslint-disable-next-line + public handleMediaError(event?: MediaError): boolean { return false; } - getStartTimeOfDvrWindow(): number { + public getStartTimeOfDvrWindow(): number { return BaseMediaSourceAdapter._throwNotImplementedError('getStartTimeOfDvrWindow'); } - - getThumbnail(time: number): ?ThumbnailInfo { + // eslint-disable-next-line + public getThumbnail(time: number): ThumbnailInfo | null { return null; } - getSegmentDuration(): number { + public getSegmentDuration(): number { return BaseMediaSourceAdapter._throwNotImplementedError('getSegmentDuration'); } - get liveDuration(): number { + public get liveDuration(): number { return BaseMediaSourceAdapter._throwNotImplementedError('liveDuration'); } @@ -286,7 +290,7 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @param {string} name of the unimplemented function * @returns {any} void/string/boolean */ - static _throwNotImplementedError(name: string): any { + private static _throwNotImplementedError(name: string): any { throw new Error(Error.Severity.CRITICAL, Error.Category.PLAYER, Error.Code.RUNTIME_ERROR_METHOD_NOT_IMPLEMENTED, name); } @@ -296,7 +300,7 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @public * @returns {string} - The src url. */ - get src(): string { + public get src(): string { if (this._loadPromise && this._sourceObj) { return this._sourceObj.url; } @@ -309,7 +313,7 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @public * @returns {void} */ - set src(source: string): void { + public set src(source: string) { if (!this._loadPromise && this._sourceObj) { this._sourceObj.url = source; } @@ -319,15 +323,15 @@ export default class BaseMediaSourceAdapter extends FakeEventTarget implements I * @public * @return {PKMediaSourceCapabilities} - The adapter capabilities. */ - get capabilities(): PKMediaSourceCapabilities { + public get capabilities(): PKMediaSourceCapabilities { return this._capabilities; } - get targetBuffer(): number { + public get targetBuffer(): number { return NaN; } - getDrmInfo(): ?PKDrmDataObject { + public getDrmInfo(): PKDrmDataObject | null { return null; } } diff --git a/src/engines/html5/media-source/media-source-provider.js b/src/engines/html5/media-source/media-source-provider.ts similarity index 79% rename from src/engines/html5/media-source/media-source-provider.js rename to src/engines/html5/media-source/media-source-provider.ts index 3f1072082..7b36cb4a0 100644 --- a/src/engines/html5/media-source/media-source-provider.js +++ b/src/engines/html5/media-source/media-source-provider.ts @@ -1,6 +1,7 @@ -//@flow import NativeAdapter from './adapters/native-adapter'; import getLogger from '../../../utils/logger'; +import {IMediaSourceAdapter, IMediaSourceAdapterStatic} from '../../../types/interfaces/media-source-adapter'; +import {PKDrmConfigObject, PKMediaSourceObject} from '../../../types'; /** * Media source provider @@ -13,21 +14,21 @@ export default class MediaSourceProvider { * @static * @private */ - static _logger: any = getLogger('MediaSourceProvider'); + private static _logger: any = getLogger('MediaSourceProvider'); /** * The media source adapter registry. * @member {Array} _mediaSourceAdapters * @static * @private */ - static _mediaSourceAdapters: Array = [NativeAdapter]; + private static _mediaSourceAdapters: Array = [NativeAdapter]; /** * The selected adapter for playback. * @type {null|IMediaSourceAdapterStatic} * @static * @private */ - static _selectedAdapter: IMediaSourceAdapterStatic | null = null; + private static _selectedAdapter: IMediaSourceAdapterStatic | null = null; /** * Add a media source adapter to the registry. @@ -36,7 +37,7 @@ export default class MediaSourceProvider { * @static * @returns {void} */ - static register(mediaSourceAdapter: IMediaSourceAdapterStatic): void { + public static register(mediaSourceAdapter: IMediaSourceAdapterStatic): void { if (mediaSourceAdapter) { if (!MediaSourceProvider._mediaSourceAdapters.includes(mediaSourceAdapter)) { MediaSourceProvider._logger.debug(`Adapter <${mediaSourceAdapter.id}> has been registered successfully`); @@ -54,8 +55,8 @@ export default class MediaSourceProvider { * @static * @returns {void} */ - static unRegister(mediaSourceAdapter: IMediaSourceAdapterStatic): void { - let index = MediaSourceProvider._mediaSourceAdapters.indexOf(mediaSourceAdapter); + public static unRegister(mediaSourceAdapter: IMediaSourceAdapterStatic): void { + const index = MediaSourceProvider._mediaSourceAdapters.indexOf(mediaSourceAdapter); if (index > -1) { MediaSourceProvider._logger.debug(`Unregistered <${mediaSourceAdapter.id}> adapter`); MediaSourceProvider._mediaSourceAdapters.splice(index, 1); @@ -71,9 +72,9 @@ export default class MediaSourceProvider { * @public * @static */ - static canPlaySource(source: PKMediaSourceObject, preferNative: boolean = true, drmConfig: PKDrmConfigObject): boolean { + public static canPlaySource(source: PKMediaSourceObject, preferNative: boolean = true, drmConfig: PKDrmConfigObject): boolean { MediaSourceProvider._orderMediaSourceAdapters(preferNative); - let mediaSourceAdapters = MediaSourceProvider._mediaSourceAdapters; + const mediaSourceAdapters = MediaSourceProvider._mediaSourceAdapters; if (source && source.mimetype) { for (let i = 0; i < mediaSourceAdapters.length; i++) { if ( @@ -95,7 +96,7 @@ export default class MediaSourceProvider { * @private * @returns {void} */ - static _orderMediaSourceAdapters(preferNative: boolean): void { + public static _orderMediaSourceAdapters(preferNative: boolean): void { MediaSourceProvider._mediaSourceAdapters = MediaSourceProvider._mediaSourceAdapters.filter(mse => mse.id !== 'NativeAdapter'); if (preferNative) { MediaSourceProvider._mediaSourceAdapters.unshift(NativeAdapter); @@ -113,7 +114,7 @@ export default class MediaSourceProvider { * @returns {IMediaSourceAdapter|null} - The selected media source adapter, or null if such doesn't exists. * @static */ - static getMediaSourceAdapter(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: Object): IMediaSourceAdapter | null { + public static getMediaSourceAdapter(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: any): IMediaSourceAdapter | null { if (videoElement && source && config) { if (!MediaSourceProvider._selectedAdapter) { MediaSourceProvider.canPlaySource(source, true, config.drm); @@ -128,7 +129,7 @@ export default class MediaSourceProvider { * @static * @returns {void} */ - static destroy(): void { + public static destroy(): void { MediaSourceProvider._selectedAdapter = null; } } diff --git a/src/engines/stream-type.js b/src/engines/stream-type.ts similarity index 52% rename from src/engines/stream-type.js rename to src/engines/stream-type.ts index 2eeb0f9b8..b0d3aa159 100644 --- a/src/engines/stream-type.js +++ b/src/engines/stream-type.ts @@ -1,9 +1,6 @@ -// @flow -const StreamType: PKStreamTypes = { +export const StreamType = { DASH: 'dash', HLS: 'hls', PROGRESSIVE: 'progressive', IMAGE: 'image' -}; - -export {StreamType}; +} as const; diff --git a/src/enums/auto-play-type.js b/src/enums/auto-play-type.ts similarity index 66% rename from src/enums/auto-play-type.js rename to src/enums/auto-play-type.ts index 14737aaf7..6a2ceb040 100644 --- a/src/enums/auto-play-type.js +++ b/src/enums/auto-play-type.ts @@ -1,4 +1,5 @@ -// @flow +import {PKAutoPlayTypes} from '../types/auto-play-types'; + const AutoPlayType: PKAutoPlayTypes = { TRUE: true, FALSE: false, diff --git a/src/enums/media-type.js b/src/enums/media-type.ts similarity index 56% rename from src/enums/media-type.js rename to src/enums/media-type.ts index 6572aba21..b739ba0c3 100644 --- a/src/enums/media-type.js +++ b/src/enums/media-type.ts @@ -1,10 +1,7 @@ -// @flow -const MediaType: PKMediaTypes = { +export const MediaType = { VOD: 'Vod', LIVE: 'Live', AUDIO: 'Audio', IMAGE: 'Image', UNKNOWN: 'Unknown' -}; - -export {MediaType}; +} as const; diff --git a/src/enums/mime-type.js b/src/enums/mime-type.ts similarity index 85% rename from src/enums/mime-type.js rename to src/enums/mime-type.ts index 2e3fe4b8f..22f72a527 100644 --- a/src/enums/mime-type.js +++ b/src/enums/mime-type.ts @@ -1,4 +1,5 @@ -// @flow +import {PKMimeTypes} from '../types'; + const MimeType: PKMimeTypes = { HLS: ['application/x-mpegurl', 'application/vnd.apple.mpegurl'], DASH: ['application/dash+xml'], diff --git a/src/enums/request-type.js b/src/enums/request-type.ts similarity index 71% rename from src/enums/request-type.js rename to src/enums/request-type.ts index 72e3ed25a..9aa52ea66 100644 --- a/src/enums/request-type.js +++ b/src/enums/request-type.ts @@ -1,4 +1,5 @@ -// @flow +import {PKRequestType} from '../types'; + const RequestType: PKRequestType = { MANIFEST: 0, SEGMENT: 1, diff --git a/src/enums/screen-orientation-type.js b/src/enums/screen-orientation-type.ts similarity index 88% rename from src/enums/screen-orientation-type.js rename to src/enums/screen-orientation-type.ts index 11647ecc7..212bab43c 100644 --- a/src/enums/screen-orientation-type.js +++ b/src/enums/screen-orientation-type.ts @@ -1,4 +1,5 @@ -// @flow +import {PKOrientationType} from '../types'; + const ScreenOrientationType: PKOrientationType = { NONE: 'none', ANY: 'any', diff --git a/src/error/category.js b/src/error/category.ts similarity index 98% rename from src/error/category.js rename to src/error/category.ts index 8ae9134ef..3d31b1c5f 100644 --- a/src/error/category.js +++ b/src/error/category.ts @@ -1,4 +1,3 @@ -//@flow type CategoryType = {[category: string]: number}; const Category: CategoryType = { diff --git a/src/error/code.js b/src/error/code.ts similarity index 99% rename from src/error/code.js rename to src/error/code.ts index 6350bd20a..4a1365621 100644 --- a/src/error/code.js +++ b/src/error/code.ts @@ -1,4 +1,3 @@ -//@flow import {AdErrorCode} from '../ads/ad-error-code'; type CodeType = {[code: string]: number}; diff --git a/src/error/error.js b/src/error/error.ts similarity index 78% rename from src/error/error.js rename to src/error/error.ts index e16d636f0..4a9ad7e1a 100644 --- a/src/error/error.js +++ b/src/error/error.ts @@ -1,4 +1,3 @@ -//@flow import getLogger, {getLogLevel, LogLevel} from '../utils/logger'; import type {SeverityType} from './severity'; import {Severity} from './severity'; @@ -13,23 +12,23 @@ const CLASS_NAME: string = 'Error'; * @classdesc This is a description of the error class. */ export default class Error { - severity: number; - category: number; - code: number; - data: any; + public severity: number; + public category: number; + public code: number; + public data: any; /** * @enum {number} */ - static Severity: SeverityType = Severity; + public static Severity: SeverityType = Severity; /** * @enum {number} */ - static Category: CategoryType = Category; + public static Category: CategoryType = Category; /** * @enum {number} */ - static Code: CodeType = Code; - static _logger: any = getLogger(CLASS_NAME); + public static Code: CodeType = Code; + private static _logger: any = getLogger(CLASS_NAME); /** * @constructor diff --git a/src/error/severity.js b/src/error/severity.ts similarity index 98% rename from src/error/severity.js rename to src/error/severity.ts index 1fe2973d5..e6926ad5a 100644 --- a/src/error/severity.js +++ b/src/error/severity.ts @@ -1,5 +1,3 @@ -//@flow - type SeverityType = {[severity: string]: number}; const Severity: SeverityType = { diff --git a/src/event/event-manager.js b/src/event/event-manager.ts similarity index 73% rename from src/event/event-manager.js rename to src/event/event-manager.ts index 7315cc407..603c5b968 100644 --- a/src/event/event-manager.js +++ b/src/event/event-manager.ts @@ -1,7 +1,6 @@ -//@flow -import {MultiMap} from '../utils/multi-map'; -import FakeEventTarget from './fake-event-target'; -import FakeEvent from './fake-event'; +import {MultiMap} from '../utils'; +import { FakeEventTarget } from './fake-event-target'; +import { FakeEvent } from './fake-event'; /** * Creates a new EventManager. An EventManager maintains a collection of "event @@ -11,8 +10,8 @@ import FakeEvent from './fake-event'; * @constructor * @implements {IDestroyable} */ -class EventManager { - _bindingMap: MultiMap | null; +export class EventManager { + private _bindingMap: MultiMap | null; constructor() { /** @@ -26,7 +25,7 @@ class EventManager { * Detaches all event listeners. * @override */ - destroy() { + public destroy(): Promise { this.removeAll(); this._bindingMap = null; return Promise.resolve(); @@ -40,10 +39,10 @@ class EventManager { * @param {?Object} options - The event options. * @returns {void} */ - listenOnce(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options: ?Object): void { - let oneListener = (event: Event | FakeEvent) => { + public listenOnce(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options?: any): void { + const oneListener = (event: Event | FakeEvent): void => { this.unlisten(target, type, oneListener); - (listener: Function).call(this, event); + listener.call(this, event); }; this.listen(target, type, oneListener, options); } @@ -56,8 +55,8 @@ class EventManager { * @param {?Object} options The event options. * @returns {void} */ - listen(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options: ?Object): void { - let binding = new Binding_(target, type, listener, options); + public listen(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options?: any): void { + const binding = new Binding_(target, type, listener, options); if (this._bindingMap) { this._bindingMap.push(type, binding); } @@ -70,12 +69,12 @@ class EventManager { * @param {ListenerType} [listener] The event listener to detach. If no given, detaches all event listeners of the target and type. * @returns {void} */ - unlisten(target: any, type: string, listener: ?ListenerType): void { + public unlisten(target: any, type: string, listener?: ListenerType): void { if (this._bindingMap) { - let list = this._bindingMap.get(type); + const list = this._bindingMap.get(type); for (let i = 0; i < list.length; ++i) { - let binding = list[i]; + const binding = list[i]; if (binding.target === target && (binding.listener === listener || !listener)) { binding.unlisten(); @@ -91,11 +90,11 @@ class EventManager { * Detaches all event listeners from all targets. * @returns {void} */ - removeAll(): void { + public removeAll(): void { if (this._bindingMap) { - let listeners = this._bindingMap.getAll(); + const listeners = this._bindingMap.getAll(); - for (let listener of listeners) { + for (const listener of listeners) { listener.unlisten(); } if (this._bindingMap) { @@ -108,7 +107,7 @@ class EventManager { /** * @typedef {function(!Event)} */ -type ListenerType = EventListener | ((event: FakeEvent) => any); +export type ListenerType = EventListener | ((event: FakeEvent) => any); /** * Creates a new Binding_ and attaches the event listener to the event target. @@ -119,12 +118,12 @@ type ListenerType = EventListener | ((event: FakeEvent) => any); * @private */ class Binding_ { - target: any; - type: string; - listener: ListenerType | null; - options: ?Object; + public target: any; + public type: string; + public listener: ListenerType | null; + public options?: any; - constructor(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options: ?Object) { + constructor(target: EventTarget | FakeEventTarget, type: string, listener: ListenerType, options?: any) { /** @type {EventTarget} */ this.target = target; @@ -146,7 +145,7 @@ class Binding_ { * event listener is already detached. * @returns {void} */ - unlisten(): void { + public unlisten(): void { if (!this.target) return; this.target.removeEventListener(this.type, this.listener, this.options); @@ -156,5 +155,3 @@ class Binding_ { this.options = null; } } - -export default EventManager; diff --git a/src/event/event-type.js b/src/event/event-type.ts similarity index 96% rename from src/event/event-type.js rename to src/event/event-type.ts index 9b38df382..a8c02b173 100644 --- a/src/event/event-type.js +++ b/src/event/event-type.ts @@ -1,8 +1,7 @@ -//@flow -import * as Utils from '../utils/util'; import {AdEventType} from '../ads/ad-event-type'; +import {PKEventTypes} from '../types'; -const Html5EventType: PKEventTypes = { +const Html5EventType = { /** * Fires when the loading of an audio/video is aborted */ @@ -103,9 +102,9 @@ const Html5EventType: PKEventTypes = { * Fires when the engine changes presentation mode on safari webkitpresentationmodechanged */ PRESENTATION_MODE_CHANGED: 'webkitpresentationmodechanged' -}; +} as const; -const CustomEventType: PKEventTypes = { +const CustomEventType = { /** * Fires when the media is loaded. */ @@ -268,8 +267,8 @@ const CustomEventType: PKEventTypes = { * Fired when the source url switched */ SOURCE_URL_SWITCHED: 'sourceurlswitched' -}; +} as const; -const EventType: PKEventTypes = Utils.Object.merge([Html5EventType, CustomEventType, AdEventType]); +const EventType: PKEventTypes = { ...Html5EventType, ...CustomEventType, ...AdEventType}; export {EventType, Html5EventType, CustomEventType}; diff --git a/src/event/fake-event-target.js b/src/event/fake-event-target.ts similarity index 79% rename from src/event/fake-event-target.js rename to src/event/fake-event-target.ts index 957bdea45..9d853984a 100644 --- a/src/event/fake-event-target.js +++ b/src/event/fake-event-target.ts @@ -1,7 +1,6 @@ -//@flow -import FakeEvent from './fake-event'; -import {MultiMap} from '../utils/multi-map'; -import getLogger from '../utils/logger'; +import { FakeEvent } from './fake-event'; +import {MultiMap} from '../utils'; +import { getLogger } from '../utils/logger'; /** * A work-alike for EventTarget. Only DOM elements may be true EventTargets, @@ -12,10 +11,10 @@ import getLogger from '../utils/logger'; * @constructor * @export */ -class FakeEventTarget { - _listeners: MultiMap boolean | void>; - dispatchTarget: FakeEventTarget; - __logger: any; +export class FakeEventTarget { + private _listeners: MultiMap boolean | void>; + private readonly dispatchTarget: FakeEventTarget; + private __logger: any; constructor() { /** @@ -42,7 +41,7 @@ class FakeEventTarget { * @override * @export */ - addEventListener(type: string, listener: typeof EventListener) { + public addEventListener(type: string, listener: typeof EventListener): void { this._listeners.push(type, listener); } @@ -57,7 +56,7 @@ class FakeEventTarget { * @override * @export */ - removeEventListener(type: string, listener: typeof EventListener) { + public removeEventListener(type: string, listener: typeof EventListener): void { this._listeners.remove(type, listener); } @@ -69,13 +68,13 @@ class FakeEventTarget { * @override * @export */ - dispatchEvent(event: FakeEvent) { + public dispatchEvent(event: FakeEvent): boolean { // In many browsers, it is complex to overwrite properties of actual Events. // Here we expect only to dispatch FakeEvents, which are simpler. //goog.asserts.assert(event instanceof FakeEvent, // 'FakeEventTarget can only dispatch FakeEvents!'); - let list = this._listeners.get(event.type) || []; + const list = this._listeners.get(event.type) || []; for (let i = 0; i < list.length; ++i) { // Do this every time, since events can be re-dispatched from handlers. @@ -84,12 +83,14 @@ class FakeEventTarget { //$FlowFixMe - need to cast to event target but can't yet make EventTarget inherited event.currentTarget = this.dispatchTarget; - let listener = list[i]; + const listener = list[i]; try { // native DOM event handler - //$FlowFixMe + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore if (listener.handleEvent) { - //$FlowFixMe + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore listener.handleEvent(event); } else { listener.call(this, event); @@ -115,5 +116,3 @@ class FakeEventTarget { * @typedef {EventListener|function(!Event):(boolean|undefined)} */ declare function EventListener(event: FakeEvent): boolean | void; - -export default FakeEventTarget; diff --git a/src/event/fake-event.js b/src/event/fake-event.ts similarity index 83% rename from src/event/fake-event.js rename to src/event/fake-event.ts index f35b7d3e6..a187952b0 100644 --- a/src/event/fake-event.js +++ b/src/event/fake-event.ts @@ -7,15 +7,15 @@ * @constructor * @extends {Event} */ -class FakeEvent { +export class FakeEvent { /** @const {boolean} */ - bubbles: boolean; + public bubbles: boolean; /** @const {boolean} */ - cancelable: boolean; + public cancelable: boolean; /** @const {boolean} */ - defaultPrevented: boolean; + public defaultPrevented: boolean; /** * According to MDN, Chrome uses high-res timers instead of epoch time. @@ -24,29 +24,29 @@ class FakeEvent { * @const {number} * @see https://developer.mozilla.org/en-US/docs/Web/API/Event/timeStamp */ - timeStamp: number | Date; + public timeStamp: number | Date; /** @const {string} */ - type: string; + public type: string; /** @const {boolean} */ - isTrusted: boolean; + public isTrusted: boolean; /** @type {EventTarget} */ - currentTarget: any; + public currentTarget: any; /** @type {EventTarget} */ - target: any; + public target: any; /** * Non-standard property read by FakeEventTarget to stop processing listeners. * @type {boolean} */ - stopped: boolean; + public stopped: boolean; - payload: any; + public payload: any; - constructor(type: string, payload: any) { + constructor(type: string, payload?: any) { // These Properties below cannot be set by dict. They are all provided for // compatibility with native events. @@ -94,14 +94,14 @@ class FakeEvent { * with native Events. * @override */ - preventDefault() {} + public preventDefault(): void {} /** * Stops processing event listeners for this event. Provided for compatibility * with native Events. * @override */ - stopImmediatePropagation() { + public stopImmediatePropagation(): void { this.stopped = true; } @@ -110,7 +110,5 @@ class FakeEvent { * with native Events. * @override */ - stopPropagation() {} + public stopPropagation(): void {} } - -export default FakeEvent; diff --git a/src/fullscreen/fullscreen-controller.js b/src/fullscreen/fullscreen-controller.ts similarity index 73% rename from src/fullscreen/fullscreen-controller.js rename to src/fullscreen/fullscreen-controller.ts index c8c6e6cdb..d37f924aa 100644 --- a/src/fullscreen/fullscreen-controller.js +++ b/src/fullscreen/fullscreen-controller.ts @@ -1,7 +1,6 @@ -//@flow -import EventManager from '../event/event-manager'; +import { EventManager } from '../event/event-manager'; import Player from '../player'; -import FakeEvent from '../event/fake-event'; +import { FakeEvent } from '../event/fake-event'; import * as Utils from '../utils/util'; import {ScreenOrientationType} from '../enums/screen-orientation-type'; import {EngineType} from '../engines/engine-type'; @@ -20,18 +19,19 @@ const EXIT_PIP_TIMEOUT: number = 1000; * @param {Player} player - The player. */ class FullscreenController { - _player: Player; + private _player: Player; // Flag to indicate that player is in fullscreen(when different element on fullscreen - api return correct state). // Not relevant for IOS - _isElementInFullscreen: boolean = false; - _isInBrowserFullscreen: boolean; - _isScreenLocked: boolean = false; - _isScreenOrientationSupport: boolean = - // $FlowFixMe + private _isElementInFullscreen: boolean = false; + private _isInBrowserFullscreen: boolean; + private _isScreenLocked: boolean = false; + private _isScreenOrientationSupport: boolean = + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore !!screen && !!screen.orientation && typeof screen.orientation.unlock === 'function' && typeof screen.orientation.lock === 'function'; - _eventManager: EventManager; + private _eventManager: EventManager; // Flag to overcome browsers which supports more than one fullscreenchange event - _isFullscreenEventDispatched: boolean = false; + private _isFullscreenEventDispatched: boolean = false; /** * after component mounted, set up event listeners to window fullscreen state change @@ -39,7 +39,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - constructor(player: Player): void { + constructor(player: Player) { this._player = player; //flag to cover the option that inBrowserFullscreen selected and we should know if it's full screen this._isInBrowserFullscreen = false; @@ -51,7 +51,9 @@ class FullscreenController { * @memberof FullScreenController * @returns {boolean} - the current fullscreen state of the document */ - _isNativeDocumentFullscreen(): boolean { + private _isNativeDocumentFullscreen(): boolean { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore return !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement); } @@ -60,13 +62,14 @@ class FullscreenController { * @memberof FullScreenController * @returns {boolean} - the current fullscreen state of the video element in ios */ - _isIOSFullscreen(): boolean { + private _isIOSFullscreen(): boolean { //for ios mobile checking video element - const videoElement: ?HTMLVideoElement = typeof this._player.getVideoElement === 'function' ? this._player.getVideoElement() : null; + const videoElement = typeof this._player.getVideoElement === 'function' ? this._player.getVideoElement() : null; // $FlowFixMe for ios mobile return ( this._player.env.os.name === 'iOS' && !!videoElement && + // @ts-expect-error - Property 'webkitPresentationMode' does not exist on type 'HTMLVideoElement'. (videoElement.webkitPresentationMode === 'fullscreen' || (!videoElement.webkitPresentationMode && videoElement.webkitDisplayingFullscreen)) ); } @@ -76,7 +79,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {boolean} - the current fullscreen state of the document */ - isFullscreen(): boolean { + public isFullscreen(): boolean { return ( (this._isNativeDocumentFullscreen() && this._isElementInFullscreen) || this._isIOSFullscreen() || @@ -92,7 +95,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - enterFullscreen(elementId: ?string): void { + public enterFullscreen(elementId?: string): void { if (!this.isFullscreen()) { this.registerFullScreenEvents(); let fullScreenElement = elementId && Utils.Dom.getElementById(elementId); @@ -101,16 +104,19 @@ class FullscreenController { fullScreenElement = this._player.getView(); } if (this._player.env.os.name === 'iOS') { - if ((playbackConfig.inBrowserFullscreen && playbackConfig.playsinline) || this._player._engineType === EngineType.YOUTUBE) { + if ((playbackConfig.inBrowserFullscreen && playbackConfig.playsinline) || this._player.engineType === EngineType.YOUTUBE) { this._enterInBrowserFullscreen(fullScreenElement); } else { - const videoElement: ?HTMLVideoElement = this._player.getVideoElement(); + const videoElement = this._player.getVideoElement(); + // @ts-expect-error - Property 'webkitEnterFullScreen' does not exist on type 'HTMLVideoElement' if (videoElement && typeof videoElement.webkitEnterFullScreen === 'function') { if (this._player.isInPictureInPicture()) { // iOS < 13 (iPad) has an issue to enter to full screen from PiP + // @ts-expect-error - Property 'webkitEnterFullScreen' does not exist on type 'HTMLVideoElement' setTimeout(() => videoElement.webkitEnterFullScreen(), EXIT_PIP_TIMEOUT); this._player.exitPictureInPicture(); } else { + // @ts-expect-error - Property 'webkitEnterFullScreen' does not exist on type 'HTMLVideoElement' videoElement.webkitEnterFullScreen(); } } @@ -127,15 +133,18 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - exitFullscreen(): void { + public exitFullscreen(): void { if (this.isFullscreen()) { if (this._player.env.os.name === 'iOS') { // player will be in full screen with this flag or otherwise will be natively full screen - if (this._isInBrowserFullscreen || this._player._engineType === EngineType.YOUTUBE) { + if (this._isInBrowserFullscreen || this._player.engineType === EngineType.YOUTUBE) { this._exitInBrowserFullscreen(); } else { - const videoElement: ?HTMLVideoElement = this._player.getVideoElement(); + + const videoElement: HTMLVideoElement = this._player.getVideoElement()!; + // @ts-expect-error - Property 'webkitEnterFullScreen' does not exist on type 'HTMLVideoElement' if (videoElement && typeof videoElement.webkitExitFullscreen === 'function') { + // @ts-expect-error - Property 'webkitEnterFullScreen' does not exist on type 'HTMLVideoElement' videoElement.webkitExitFullscreen(); } } @@ -152,14 +161,20 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - _nativeEnterFullScreen(fullScreenElement: HTMLElement) { + private _nativeEnterFullScreen(fullScreenElement: HTMLElement): Promise | undefined { if (typeof fullScreenElement.requestFullscreen === 'function') { return fullScreenElement.requestFullscreen(); + // @ts-expect-error - Property 'mozRequestFullScreen' does not exist on type 'HTMLElement' } else if (typeof fullScreenElement.mozRequestFullScreen === 'function') { + // @ts-expect-error - Property 'mozRequestFullScreen' does not exist on type 'HTMLElement' return fullScreenElement.mozRequestFullScreen(); + // @ts-expect-error - Property 'webkitRequestFullScreen' does not exist on type 'HTMLElement' } else if (typeof fullScreenElement.webkitRequestFullScreen === 'function') { + // @ts-expect-error - Property 'webkitRequestFullScreen' does not exist on type 'HTMLElement' return fullScreenElement.webkitRequestFullScreen(); + // @ts-expect-error - Property 'msRequestFullscreen' does not exist on type 'HTMLElement' } else if (typeof fullScreenElement.msRequestFullscreen === 'function') { + // @ts-expect-error - Property 'msRequestFullscreen' does not exist on type 'HTMLElement' return fullScreenElement.msRequestFullscreen(); } } @@ -171,7 +186,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - _requestFullscreen(fullScreenElement: HTMLElement) { + private _requestFullscreen(fullScreenElement: HTMLElement): void { if (this._player.isInPictureInPicture()) { this._player.exitPictureInPicture(); } @@ -183,7 +198,8 @@ class FullscreenController { screenLockOrientionMode !== ScreenOrientationType.NONE && Object.values(ScreenOrientationType).includes(screenLockOrientionMode); if (this._isScreenOrientationSupport && validOrientation) { screen.orientation - // $FlowFixMe + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore .lock(screenLockOrientionMode) .then(() => (this._isScreenLocked = true)) .catch(() => (this._isScreenLocked = false)); @@ -199,14 +215,21 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - _nativeExitFullScreen() { + private _nativeExitFullScreen(): Promise | undefined { if (typeof document.exitFullscreen === 'function') { return document.exitFullscreen(); + // @ts-expect-error - Property 'webkitExitFullscreen' does not exist on type 'Document' } else if (typeof document.webkitExitFullscreen === 'function') { + // @ts-expect-error - Property 'webkitExitFullscreen' does not exist on type 'Document' return document.webkitExitFullscreen(); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore } else if (typeof document.mozCancelFullScreen === 'function') { + //@ts-expect-error - Property 'mozCancelFullScreen' does not exist on type 'Document'. return document.mozCancelFullScreen(); + //@ts-expect-error - Property 'msExitFullscreen' does not exist on type 'Document' } else if (typeof document.msExitFullscreen === 'function') { + //@ts-expect-error - Property 'msExitFullscreen' does not exist on type 'Document' return document.msExitFullscreen(); } } @@ -217,7 +240,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - _requestExitFullscreen(): void { + private _requestExitFullscreen(): void { Promise.resolve(this._nativeExitFullScreen()).then( () => { this._isElementInFullscreen = false; @@ -237,7 +260,7 @@ class FullscreenController { * @param {HTMLElement} fullScreenElement - element to enter fullscreen * @returns {void} */ - _enterInBrowserFullscreen(fullScreenElement: HTMLElement): void { + private _enterInBrowserFullscreen(fullScreenElement: HTMLElement): void { if (this._player.isInPictureInPicture()) { this._player.exitPictureInPicture(); } @@ -253,7 +276,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - _exitInBrowserFullscreen(): void { + private _exitInBrowserFullscreen(): void { //get the element with relevant css, otherwise keep the flow of exit manually const fullScreenElement = Utils.Dom.getElementBySelector('.' + IN_BROWSER_FULLSCREEN); if (fullScreenElement) { @@ -269,7 +292,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - registerFullScreenEvents(): void { + public registerFullScreenEvents(): void { if (this._player.env.os.name === 'iOS') { this._handleIosFullscreen(); } else { @@ -285,13 +308,13 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - _handleIosFullscreen(): void { + private _handleIosFullscreen(): void { /** * Attach listeners to ios full screen change. * @returns {void} */ - const attachIosFullscreenListeners = () => { - let vidEl = this._player.getVideoElement(); + const attachIosFullscreenListeners = (): void => { + const vidEl = this._player.getVideoElement(); if (vidEl) { this._eventManager.listen(vidEl, 'webkitbeginfullscreen', () => this._fullscreenEnterHandler()); this._eventManager.listen(vidEl, 'webkitendfullscreen', () => this._fullscreenExitHandler()); @@ -309,7 +332,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - _fullscreenChangeHandler(): void { + private _fullscreenChangeHandler(): void { //fire player event for current state, if player is in fullscreen fire player fullscreen event otherwise exit this.isFullscreen() ? this._fullscreenEnterHandler() : this._fullscreenExitHandler(); } @@ -319,7 +342,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - _fullscreenEnterHandler(): void { + private _fullscreenEnterHandler(): void { if (this.isFullscreen() && !this._isFullscreenEventDispatched) { this._isFullscreenEventDispatched = true; this._player.dispatchEvent(new FakeEvent(this._player.Event.ENTER_FULLSCREEN)); @@ -331,7 +354,7 @@ class FullscreenController { * @memberof FullScreenController * @returns {void} */ - _fullscreenExitHandler(): void { + private _fullscreenExitHandler(): void { if (!this.isFullscreen() && this._isFullscreenEventDispatched) { this._isFullscreenEventDispatched = false; this._eventManager.removeAll(); @@ -344,7 +367,7 @@ class FullscreenController { * @returns {void} * @public */ - destroy(): void { + public destroy(): void { this._eventManager.destroy(); } } diff --git a/src/middleware/base-middleware.js b/src/middleware/base-middleware.ts similarity index 81% rename from src/middleware/base-middleware.js rename to src/middleware/base-middleware.ts index de94c7c9e..edccbf46c 100644 --- a/src/middleware/base-middleware.js +++ b/src/middleware/base-middleware.ts @@ -1,5 +1,3 @@ -// @flow - /** * Base middleware. * @classdesc @@ -9,14 +7,14 @@ export default class BaseMiddleware { * Id of the middleware instance. * @public */ - id: string; + public id!: string; /** * Calls the next handler in the middleware chain. * @param {Function} next - The next handler in the middleware chain. * @returns {void} */ - callNext(next: Function): void { + public callNext(next: (...args: any[]) => any): void { if (next) { next(); } diff --git a/src/middleware/middleware.js b/src/middleware/middleware.ts similarity index 80% rename from src/middleware/middleware.js rename to src/middleware/middleware.ts index e39abc9e3..f7c1fb241 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.ts @@ -1,4 +1,3 @@ -// @flow import {MultiMap} from '../utils/multi-map'; import BaseMiddleware from './base-middleware'; import getLogger from '../utils/logger'; @@ -12,19 +11,19 @@ export default class Middleware { * @private * @member */ - _middlewares: MultiMap; + private _middlewares: MultiMap; /** * The actions supported by the middleware. * @private * @member */ - _actions: {[action: string]: string}; + private _actions: {[action: string]: string}; /** * The logger of the middleware. * @private * @member */ - _logger: any; + private _logger: any; /** * @constructor @@ -42,9 +41,9 @@ export default class Middleware { * @public * @returns {void} */ - use(middlewareInstance: BaseMiddleware): void { - for (let action in this._actions) { - let apiAction = this._actions[action]; + public use(middlewareInstance: BaseMiddleware): void { + for (const action in this._actions) { + const apiAction = this._actions[action]; // $FlowFixMe if (typeof middlewareInstance[apiAction] === 'function') { this._logger.debug(`Register <${middlewareInstance.id}> for action ${apiAction}`); @@ -62,9 +61,9 @@ export default class Middleware { * @public * @returns {void} */ - run(action: string, callback: Function, ...params: Array): void { + public run(action: string, callback: (...args: any[]) => any, ...params: Array): void { this._logger.debug('Start middleware chain for action ' + action); - let middlewares = this._middlewares.get(action); + const middlewares = this._middlewares.get(action); this._executeMiddleware( middlewares, (...params) => { @@ -83,9 +82,9 @@ export default class Middleware { * @private * @returns {void} */ - _executeMiddleware(middlewares: Array, callback: Function, origParams: Array): void { + private _executeMiddleware(middlewares: Array<(...args: any[]) => any>, callback: (...args: any[]) => any, origParams: Array): void { let params = origParams; - const applyFunc = (fn, prevParams, next) => { + const applyFunc = (fn, prevParams, next?): void => { if (prevParams?.length) { params = prevParams; } diff --git a/src/middleware/playback-middleware.js b/src/middleware/playback-middleware.ts similarity index 83% rename from src/middleware/playback-middleware.js rename to src/middleware/playback-middleware.ts index 2cf983b49..210993b7b 100644 --- a/src/middleware/playback-middleware.js +++ b/src/middleware/playback-middleware.ts @@ -1,4 +1,3 @@ -// @flow import Middleware from './middleware'; import BaseMiddleware from './base-middleware'; @@ -10,7 +9,7 @@ export default class PlaybackMiddleware { * The actions of the playback middleware. * @static */ - static Actions: {[action: string]: string} = { + public static Actions: {[action: string]: string} = { LOAD: 'load', PLAY: 'play', PAUSE: 'pause', @@ -21,7 +20,7 @@ export default class PlaybackMiddleware { * @private * @member */ - _middleware: Middleware; + private _middleware: Middleware; /** * @constructor @@ -36,7 +35,7 @@ export default class PlaybackMiddleware { * @public * @returns {void} */ - use(middlewareInstance: BaseMiddleware): void { + public use(middlewareInstance: BaseMiddleware): void { this._middleware.use(middlewareInstance); } @@ -46,7 +45,7 @@ export default class PlaybackMiddleware { * @public * @returns {void} */ - load(callback: Function): void { + public load(callback: () => void): void { this._middleware.run(PlaybackMiddleware.Actions.LOAD, callback); } @@ -56,7 +55,7 @@ export default class PlaybackMiddleware { * @public * @returns {void} */ - play(callback: Function): void { + public play(callback: () => any): void { this._middleware.run(PlaybackMiddleware.Actions.PLAY, callback); } @@ -66,7 +65,7 @@ export default class PlaybackMiddleware { * @public * @returns {void} */ - pause(callback: Function): void { + public pause(callback: () => any): void { this._middleware.run(PlaybackMiddleware.Actions.PAUSE, callback); } @@ -77,7 +76,7 @@ export default class PlaybackMiddleware { * @public * @returns {void} */ - setCurrentTime(to: number, callback: Function): void { + public setCurrentTime(to: number, callback: () => any): void { this._middleware.run(PlaybackMiddleware.Actions.SET_CURRENT_TIME, callback, to); } } diff --git a/src/player.js b/src/player.ts similarity index 83% rename from src/player.js rename to src/player.ts index ca4b62237..5e0058b47 100644 --- a/src/player.js +++ b/src/player.ts @@ -1,9 +1,9 @@ -//@flow import Env from './utils/env'; -import EventManager from './event/event-manager'; +import { EventManager } from './event/event-manager'; import PosterManager from './utils/poster-manager'; -import FakeEvent from './event/fake-event'; -import FakeEventTarget from './event/fake-event-target'; +import { FakeEvent } from './event/fake-event'; +import { FakeEventTarget } from './event/fake-event-target'; +import { IEngine, IEngineStatic, LoggerLevels } from './types'; import {CustomEventType, EventType, Html5EventType} from './event/event-type'; import * as Utils from './utils/util'; import Locale from './utils/locale'; @@ -12,12 +12,11 @@ import StateManager from './state/state-manager'; import Track from './track/track'; import VideoTrack from './track/video-track'; import AudioTrack from './track/audio-track'; -import TextTrack from './track/text-track'; +import {PKTextTrack} from './track/text-track'; import TextStyle from './track/text-style'; -import {Cue} from './track/vtt-cue'; import {processCues} from './track/text-track-display'; import {StateType} from './state/state-type'; -import {TrackType} from './track/track-type'; +import {TrackType, TrackTypes} from './track/track-type'; import {StreamType} from './engines/stream-type'; import {EngineType} from './engines/engine-type'; import {MediaType} from './enums/media-type'; @@ -33,7 +32,7 @@ import {AdBreakType} from './ads/ad-break-type'; import {AdTagType} from './ads/ad-tag-type'; import {ResizeWatcher} from './utils'; import {FullscreenController} from './fullscreen/fullscreen-controller'; -import {EngineDecorator} from './engines/engine-decorator'; +import {EngineDecorator, EngineDecoratorType} from './engines/engine-decorator'; import {LabelOptions} from './track/label-options'; import {AutoPlayType} from './enums/auto-play-type'; import ImageTrack from './track/image-track'; @@ -41,6 +40,15 @@ import {ThumbnailInfo} from './thumbnail/thumbnail-info'; import {EngineDecoratorManager} from './engines/engine-decorator-manager'; import {filterTracksByRestriction} from './utils/restrictions'; import {ExternalThumbnailsHandler} from './thumbnail/external-thumbnails-handler'; +import { + IEngineDecoratorProvider, PKDimensionsConfig, PKDrmDataObject, + PKEventTypes, PKMediaSourceObject, + PKMetadataConfigObject, PKPlayerDimensions, PKPlayOptionsObject, + PKSourcesConfigObject, PKStatsObject, + PKTextTrackDisplaySettingObject +} from './types'; +import {ILogger, ILogLevel} from 'js-logger'; +import {IEnv} from './types/ua-parser'; /** * The black cover class name. @@ -123,7 +131,7 @@ export default class Player extends FakeEventTarget { * @static * @private */ - static _logger: any = getLogger('Player'); + public static _logger: ILogger = getLogger('Player'); /** * Runs the engines capabilities tests. @@ -131,7 +139,7 @@ export default class Player extends FakeEventTarget { * @public * @static */ - static runCapabilities(): void { + public static runCapabilities(): void { Player._logger.debug('Running player capabilities'); EngineProvider.getEngines().forEach(Engine => Engine.runCapabilities()); } @@ -143,9 +151,9 @@ export default class Player extends FakeEventTarget { * @public * @static */ - static getCapabilities(engineType: ?string): Promise<{[name: string]: any}> { + public static getCapabilities(engineType?: string): Promise<{[name: string]: any}> { Player._logger.debug('Get player capabilities', engineType); - const promises = []; + const promises: {[name: string]: any}[] = []; EngineProvider.getEngines().forEach(Engine => promises.push(Engine.getCapabilities())); return Promise.all(promises).then(arrayOfResults => { const playerCapabilities = {}; @@ -162,7 +170,7 @@ export default class Player extends FakeEventTarget { * @public * @static */ - static setCapabilities(engineType: string, capabilities: {[name: string]: any}): void { + public static setCapabilities(engineType: string, capabilities: {[name: string]: any}): void { Player._logger.debug('Set player capabilities', engineType, capabilities); const selectedEngine = EngineProvider.getEngines().find(Engine => Engine.id === engineType); if (selectedEngine) { @@ -175,152 +183,152 @@ export default class Player extends FakeEventTarget { * @type {EventManager} * @private */ - _eventManager: EventManager; + private _eventManager!: EventManager; /** * The poster manager of the player. * @type {PosterManager} * @private */ - _posterManager: PosterManager; + private _posterManager!: PosterManager; /** * The runtime configuration of the player. * @type {Object} * @private */ - _config: Object; + private _config: any; /** * The current sources object. * @type {PKSourcesConfigObject} * @private */ - _sources: PKSourcesConfigObject = {}; + private _sources: PKSourcesConfigObject = {} as PKSourcesConfigObject; /** * The playback engine. * @type {IEngine} * @private */ - _engine: IEngine; + private _engine!: IEngine; /** * The state manager of the player. * @type {StateManager} * @private */ - _stateManager: StateManager; + private _stateManager!: StateManager; /** * The tracks of the player. * @type {Array} * @private */ - _tracks: Array; + private _tracks: Array; /** * The player ready promise * @type {Promise<*>} * @private */ - _readyPromise: ?Promise<*>; + private _readyPromise?: Promise; /** * Whether the play is the first or not * @type {boolean} * @private */ - _firstPlay: boolean; + private _firstPlay!: boolean; /** * Whether the playing is the first or not * @type {boolean} * @private */ - _firstPlaying: boolean; + private _firstPlaying!: boolean; /** * Whether the playback already start * @type {boolean} * @private */ - _playbackStart: boolean; + private _playbackStart!: boolean; /** * If quality has changed after playback ended - pend the change * @type {boolean} * @private */ - _pendingSelectedVideoTrack: ?VideoTrack; + private _pendingSelectedVideoTrack: VideoTrack | undefined; /** * The available playback rates for the player. * @type {Array} * @private */ - _playbackRates: Array; + private _playbackRates!: Array; /** * The player DOM element container. * @type {HTMLDivElement} * @private */ - _el: HTMLDivElement; + private _el!: HTMLDivElement; /** * The player text DOM element container. * @type {HTMLDivElement} * @private */ - _textDisplayEl: HTMLDivElement; + private _textDisplayEl!: HTMLDivElement; /** * The player black cover div. * @type {HTMLDivElement} * @private */ - _blackCoverEl: HTMLDivElement; + private _blackCoverEl!: HTMLDivElement; /** * The player DOM id. * @type {string} * @private */ - _playerId: string; + private _playerId!: string; /** * The player last updated text cues list * @type {Array} * @private */ - _activeTextCues: Array = []; + private _activeTextCues: VTTCue[] = []; /** * The player text disaply settings * @type {PKTextTrackDisplaySettingObject} * @private */ - _textDisplaySettings: PKTextTrackDisplaySettingObject = {}; + private _textDisplaySettings: PKTextTrackDisplaySettingObject = {} as PKTextTrackDisplaySettingObject; /** * The player text style settings * @type {TextStyle} * @private */ - _textStyle: TextStyle; + private _textStyle!: TextStyle; /** * The playback middleware of the player. * @type {PlaybackMiddleware} * @private */ - _playbackMiddleware: PlaybackMiddleware; + private _playbackMiddleware!: PlaybackMiddleware; /** * The environment(os,device,browser) object of the player. * @type {Object} * @private */ - _env: Object; + private _env!: IEnv; /** * The currently selected engine type * @type {string} * @private */ - _engineType: string; + private _engineType!: string; /** * The currently selected stream type * @type {string} * @private */ - _streamType: string; + private _streamType!: string; /** * The current playback attributes state * @type {Object} * @private */ - _playbackAttributesState: {[attribute: string]: any} = { + private _playbackAttributesState: {[attribute: string]: any} = { muted: undefined, volume: undefined, rate: undefined, @@ -334,91 +342,91 @@ export default class Player extends FakeEventTarget { * @type {boolean} * @private */ - _loadingMedia: boolean; + private _loadingMedia!: boolean; /** * Whether the player is loading a source. * @type {boolean} * @private */ - _loading: boolean; + private _loading!: boolean; /** * Reset indicator state. * @type {boolean} * @private */ - _reset: boolean; + private _reset!: boolean; /** * Destroyed indicator state. * @type {boolean} * @private */ - _destroyed: boolean; + private _destroyed!: boolean; /** * Fallback to muted auto play mode indicator. * @type {boolean} * @private */ - _fallbackToMutedAutoPlay: boolean; + private _fallbackToMutedAutoPlay!: boolean; /** * holds the external tracks handler controller * @type {ExternalCaptionsHandler} * @private */ - _externalCaptionsHandler: ExternalCaptionsHandler; + private _externalCaptionsHandler!: ExternalCaptionsHandler; /** * holds the external tracks handler controller * @type {ExternalCaptionsHandler} * @private */ - _externalThumbnailsHandler: ExternalThumbnailsHandler; + private _externalThumbnailsHandler!: ExternalThumbnailsHandler; /** * holds the full screen controller * @type {FullscreenController} * @private */ - _fullscreenController: FullscreenController; + private _fullscreenController!: FullscreenController; /** * holds the resize observer. Incharge of notifying on resize changes. * @type {?AdsController} * @private */ - _resizeWatcher: ResizeWatcher; + private _resizeWatcher!: ResizeWatcher; /** * Whether the user interacted with the player * @type {boolean} * @private */ - _hasUserInteracted: boolean = false; + private _hasUserInteracted: boolean = false; /** * Whether the video is seeked to live edge * @type {boolean} * @private */ - _isOnLiveEdge: boolean = false; + private _isOnLiveEdge: boolean = false; /** * Whether should load after attach media used * @type {boolean} * @private */ - _shouldLoadAfterAttach: boolean = false; + private _shouldLoadAfterAttach: boolean = false; /** * The aspect ratio of the player. * @type {?string} * @private */ - _aspectRatio: ?string; + private _aspectRatio!: string | null; /** * The engine decorator manager. * @type {?EngineDecoratorManager} * @private */ - _engineDecoratorManager: ?EngineDecoratorManager; + private _engineDecoratorManager!: EngineDecoratorManager; /** * @param {Object} config - The configuration for the player instance. * @constructor */ - constructor(config: Object = {}) { + constructor(config: any = {}) { super(); this._setConfigLogLevel(config); this._playerId = Utils.Generator.uniqueId(5); @@ -460,7 +468,7 @@ export default class Player extends FakeEventTarget { * @param {Object} config - The configuration for the player instance. * @returns {void} */ - configure(config: Object = {}): void { + public configure(config: any = {}): void { this._setConfigLogLevel(config); Utils.Object.mergeDeep(this._config, config); this._applyTextTrackConfig(config); @@ -472,7 +480,7 @@ export default class Player extends FakeEventTarget { * @param {PKMetadataConfigObject} sourcesMetadata - The sources metadata for the player instance. * @returns {void} */ - setSourcesMetadata(sourcesMetadata: PKMetadataConfigObject): void { + public setSourcesMetadata(sourcesMetadata: PKMetadataConfigObject): void { if (this._sources) { if (!this._sources.metadata) { this._sources.metadata = {}; @@ -486,7 +494,7 @@ export default class Player extends FakeEventTarget { * @param {PKSourcesConfigObject} sources - The sources for the player instance. * @returns {void} */ - setSources(sources: PKSourcesConfigObject): void { + public setSources(sources: PKSourcesConfigObject): void { if (this._hasSources(sources)) { this.reset(); Utils.Object.mergeDeep(this._sources, sources); @@ -528,7 +536,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {Promise<*>} - The ready promise */ - ready(): Promise<*> { + public ready(): Promise { return this._readyPromise ? this._readyPromise : Promise.resolve(); } @@ -537,8 +545,8 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - load(): void { - const loadPlayer = () => { + public load(): void { + const loadPlayer = (): void => { if (this._engine) { this._load(); } else { @@ -559,7 +567,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - play(playOptions?: PKPlayOptionsObject): void { + public play(playOptions?: PKPlayOptionsObject): void { if (playOptions && playOptions.programmatic) { this._autoPlay(); return; @@ -593,7 +601,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - pause(): void { + public pause(): void { if (this._engine) { this._playbackMiddleware.pause(this._pause.bind(this)); } @@ -604,7 +612,7 @@ export default class Player extends FakeEventTarget { * @return {HTMLElement} - The dom container. * @public */ - getView(): HTMLElement { + public getView(): HTMLElement { return this._el; } @@ -612,7 +620,7 @@ export default class Player extends FakeEventTarget { * @returns {HTMLVideoElement} - The video element. * @public */ - getVideoElement(): ?HTMLVideoElement { + public getVideoElement(): HTMLVideoElement | undefined { if (this._engine) { return this._engine.getVideoElement(); } @@ -623,7 +631,7 @@ export default class Player extends FakeEventTarget { * @returns {?number} - The intrinsic height of the video. * @public */ - get videoHeight(): ?number { + public get videoHeight(): number | null { if (this._engine) { return this._engine.videoHeight; } @@ -635,7 +643,7 @@ export default class Player extends FakeEventTarget { * @returns {?number} - The intrinsic width of the video. * @public */ - get videoWidth(): ?number { + public get videoWidth(): number | null { if (this._engine) { return this._engine.videoWidth; } @@ -648,7 +656,7 @@ export default class Player extends FakeEventTarget { * @param {boolean} isChangeMedia - Whether or not this reset triggered due to change media * @returns {void} */ - reset(isChangeMedia: boolean = false): void { + public reset(isChangeMedia: boolean = false): void { if (this._reset) return; this.pause(); //make sure all services are reset before engine and engine attributes are reset @@ -660,11 +668,11 @@ export default class Player extends FakeEventTarget { this._activeTextCues = []; this._updateTextDisplay([]); this._tracks = []; - TextTrack.reset(); + PKTextTrack.reset(); this._resetStateFlags(); this._engineType = ''; this._streamType = ''; - this._pendingSelectedVideoTrack = null; + this._pendingSelectedVideoTrack = undefined; if (this._engine) { this._engine.reset(); } @@ -683,7 +691,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - destroy(): void { + public destroy(): void { if (this._destroyed) return; //make sure all services are destroyed before engine and engine attributes are destroyed this._externalCaptionsHandler.destroy(); @@ -691,13 +699,13 @@ export default class Player extends FakeEventTarget { this._stateManager.destroy(); this._fullscreenController.destroy(); this._activeTextCues = []; - this._textDisplaySettings = {}; + this._textDisplaySettings = {} as PKTextTrackDisplaySettingObject; this._config = {}; this._tracks = []; this._engineType = ''; this._streamType = ''; - this._readyPromise = null; - this._pendingSelectedVideoTrack = null; + this._readyPromise = undefined; + this._pendingSelectedVideoTrack = undefined; this._resetStateFlags(); this._playbackAttributesState = {}; if (this._engine) { @@ -720,7 +728,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - hideBlackCover(): void { + public hideBlackCover(): void { if (this._blackCoverEl) { this._blackCoverEl.style.visibility = 'hidden'; } @@ -731,7 +739,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - showBlackCover(): void { + public showBlackCover(): void { if (this._blackCoverEl) { this._blackCoverEl.style.visibility = 'visible'; } @@ -742,7 +750,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - attachMediaSource(): void { + public attachMediaSource(): void { if (this._engine) { this._shouldLoadAfterAttach = true; this._engine.attachMediaSource(); @@ -759,7 +767,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - detachMediaSource(): void { + public detachMediaSource(): void { if (this._engine) { this.pause(); this.hideTextTrack(); @@ -775,7 +783,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @param {IEngineDecoratorProvider} engineDecoratorProvider - function to create the decorator */ - registerEngineDecoratorProvider(engineDecoratorProvider: IEngineDecoratorProvider): void { + public registerEngineDecoratorProvider(engineDecoratorProvider: IEngineDecoratorProvider): void { if (!this._engineDecoratorManager) { this._engineDecoratorManager = new EngineDecoratorManager(); } @@ -789,15 +797,15 @@ export default class Player extends FakeEventTarget { * @returns {TimeRanges} - First buffered range of the engine in seconds. * @public */ - get buffered(): ?TimeRanges { + public get buffered(): TimeRanges | null { if (this._engine) { return this._engine.buffered; } return null; } - get stats(): PKStatsObject { - let statsObject: PKStatsObject = { + public get stats(): PKStatsObject { + const statsObject: PKStatsObject = { targetBuffer: NaN, availableBuffer: NaN }; @@ -814,7 +822,7 @@ export default class Player extends FakeEventTarget { * @param {Number} to - The number to set in seconds. * @public */ - set currentTime(to: number): void { + public set currentTime(to: number) { this._playbackMiddleware.setCurrentTime(to, this._setCurrentTime.bind(this)); } @@ -823,7 +831,7 @@ export default class Player extends FakeEventTarget { * @returns {?Number} - The playback current time. * @public */ - get currentTime(): ?number { + public get currentTime(): number | null { if (this._engine) { return this._engine.currentTime; } @@ -835,7 +843,7 @@ export default class Player extends FakeEventTarget { * @returns {?Number} - The playback duration. * @public */ - get duration(): ?number { + public get duration(): number | null { if (this._engine) { return this._engine.duration; } @@ -847,7 +855,7 @@ export default class Player extends FakeEventTarget { * @returns {?Number} - The live duration. * @public */ - get liveDuration(): ?number { + public get liveDuration(): number | null { if (this._engine) { return this._engine.liveDuration; } @@ -860,7 +868,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - set volume(vol: number): void { + public set volume(vol: number) { if (this._engine) { if (Utils.Number.isFloat(vol) || vol === 0 || vol === 1) { let boundedVol = vol; @@ -880,7 +888,7 @@ export default class Player extends FakeEventTarget { * @returns {?Number} - The playback volume. * @public */ - get volume(): ?number { + public get volume(): number | null { if (this._engine) { return this._engine.volume; } @@ -892,7 +900,7 @@ export default class Player extends FakeEventTarget { * @returns {?boolean} - Whether the video is paused or not. * @public */ - get paused(): ?boolean { + public get paused(): boolean | null { if (this._engine) { return this._engine.paused; } @@ -904,7 +912,7 @@ export default class Player extends FakeEventTarget { * @returns {?boolean} - Whether the video is seeking or not. * @public */ - get seeking(): ?boolean { + public get seeking(): boolean | null { if (this._engine) { return this._engine.seeking; } @@ -917,7 +925,7 @@ export default class Player extends FakeEventTarget { * Elements will now be allowed to play inline, and will not automatically enter fullscreen mode when playback begins. * @param {boolean} playsinline - Whether the video should plays in line. */ - set playsinline(playsinline: boolean): void { + public set playsinline(playsinline: boolean) { if (this._engine) { this._engine.playsinline = playsinline; } @@ -929,7 +937,7 @@ export default class Player extends FakeEventTarget { * Elements will now be allowed to play inline, and will not automatically enter fullscreen mode when playback begins. * @returns {boolean} - Whether the video plays in line. */ - get playsinline(): ?boolean { + public get playsinline(): boolean | null { if (this._engine) { return this._engine.playsinline; } @@ -942,7 +950,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - set muted(mute: boolean): void { + public set muted(mute: boolean) { if (this._engine) { this._engine.muted = mute; this.dispatchEvent(new FakeEvent(CustomEventType.MUTE_CHANGE, {mute: mute})); @@ -957,7 +965,7 @@ export default class Player extends FakeEventTarget { * @returns {?boolean} - Whether the video is muted or not. * @public */ - get muted(): ?boolean { + public get muted(): boolean | null { if (this._engine) { return this._engine.muted; } @@ -969,7 +977,7 @@ export default class Player extends FakeEventTarget { * @returns {?string} - The current source of the player. * @public */ - get src(): ?string { + public get src(): string | null { if (this._engine) { return this._engine.src; } @@ -982,11 +990,15 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - set dimensions(dimensions?: PKDimensionsConfig) { + public set dimensions(dimensions: PKDimensionsConfig) { const targetElement = this._getTargetElement(); if (!dimensions || Utils.Object.isEmptyObject(dimensions)) { this._aspectRatio = null; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore targetElement.style.width = null; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore targetElement.style.height = null; } else { const {height, width} = Utils.Object.mergeDeep(this.dimensions, dimensions); @@ -996,7 +1008,7 @@ export default class Player extends FakeEventTarget { } } - _getTargetElement(): HTMLElement { + private _getTargetElement(): HTMLDivElement { return Utils.Dom.getElementById(this._config.targetId); } @@ -1005,7 +1017,7 @@ export default class Player extends FakeEventTarget { * @returns {PKPlayerDimensions} - The dimensions of the player. * @public */ - get dimensions(): PKPlayerDimensions { + public get dimensions(): PKPlayerDimensions { return { width: this._el.clientWidth, height: this._el.clientHeight @@ -1016,7 +1028,7 @@ export default class Player extends FakeEventTarget { * Get the poster source URL * @returns {string} - the poster image URL */ - get poster(): string { + public get poster(): string { return this._posterManager.src; } @@ -1024,7 +1036,7 @@ export default class Player extends FakeEventTarget { * Sets the playbackRate property. * @param {number} rate - The playback speed of the video. */ - set playbackRate(rate: number): void { + public set playbackRate(rate: number) { if (this._engine) { this._engine.playbackRate = rate; } @@ -1034,7 +1046,7 @@ export default class Player extends FakeEventTarget { * Gets the current playback speed of the video. * @returns {number} - The current playback speed of the video. */ - get playbackRate(): ?number { + public get playbackRate(): number | null { if (this._engine) { return this._engine.playbackRate; } @@ -1045,7 +1057,7 @@ export default class Player extends FakeEventTarget { * Gets the possible playback speeds of the video. * @returns {Array} - The possible playback speeds speed of the video. */ - get playbackRates(): Array { + public get playbackRates(): Array { if (this._playbackRates) { return this._playbackRates; } else if (this._engine) { @@ -1058,7 +1070,7 @@ export default class Player extends FakeEventTarget { * Gets the default playback speed of the video. * @returns {number} - The default playback speed of the video. */ - get defaultPlaybackRate(): number { + public get defaultPlaybackRate(): number { if (this._engine) { return this._engine.defaultPlaybackRate; } @@ -1069,7 +1081,7 @@ export default class Player extends FakeEventTarget { * get the engine type * @returns {string} - html5 */ - get engineType(): ?string { + public get engineType(): string { return this._engineType; } @@ -1077,7 +1089,7 @@ export default class Player extends FakeEventTarget { * get the stream type * @returns {string} - hls|dash|progressive */ - get streamType(): ?string { + public get streamType(): string { return this._streamType; } @@ -1086,7 +1098,7 @@ export default class Player extends FakeEventTarget { * @return {Object} - The current environment object. * @public */ - get env(): Object { + public get env(): IEnv { return this._env; } @@ -1095,7 +1107,7 @@ export default class Player extends FakeEventTarget { * @returns {Object} - A copy of the player configuration. * @public */ - get config(): Object { + public get config(): any { return Utils.Object.mergeDeep({}, this._config); } @@ -1104,7 +1116,7 @@ export default class Player extends FakeEventTarget { * @returns {Object} - A copy of the player configuration. * @public */ - get sources(): PKSourcesConfigObject { + public get sources(): PKSourcesConfigObject { return Utils.Object.mergeDeep({}, this._sources); } @@ -1113,7 +1125,7 @@ export default class Player extends FakeEventTarget { * @returns {boolean} - Whether the user interacted with the player * @public */ - get hasUserInteracted(): boolean { + public get hasUserInteracted(): boolean { return this._hasUserInteracted; } @@ -1123,7 +1135,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - set loadingMedia(loading: boolean): void { + public set loadingMedia(loading: boolean) { this._loadingMedia = loading; } @@ -1133,7 +1145,7 @@ export default class Player extends FakeEventTarget { * anonymous: CORS requests for this element will not have the credentials flag set. * use-credentials: CORS requests for this element will have the credentials flag set; this means the request will provide credentials. */ - set crossOrigin(crossOrigin: ?string): void { + public set crossOrigin(crossOrigin: string) { if (this._engine) { this._engine.crossOrigin = crossOrigin; } @@ -1142,8 +1154,8 @@ export default class Player extends FakeEventTarget { /** * Get crossOrigin attribute. * @returns {?string} - 'anonymous' or 'use-credentials' - */ - get crossOrigin(): ?string { + **/ + public get crossOrigin(): string | null { if (this._engine) { return this._engine.crossOrigin; } @@ -1153,8 +1165,8 @@ export default class Player extends FakeEventTarget { /** * Get ended attribute state. * @returns {?boolean} - Whether the media has been ended. - */ - get ended(): ?boolean { + **/ + public get ended(): boolean | null { if (this._engine) { return this._engine.ended; } @@ -1165,7 +1177,7 @@ export default class Player extends FakeEventTarget { * Get the playback middleware. * @returns {PlaybackMiddleware} - The playback middleware. */ - get playbackMiddleware(): PlaybackMiddleware { + public get playbackMiddleware(): PlaybackMiddleware { return this._playbackMiddleware; } @@ -1173,21 +1185,17 @@ export default class Player extends FakeEventTarget { * Get the poster manager. * @returns {PlaybackMiddleware} - The poster manager. */ - get posterManager(): PosterManager { + public get posterManager(): PosterManager { return this._posterManager; } - // - - // - /** * Checking if the current playback is live. * @function isLive * @returns {boolean} - Whether playback is live. * @public */ - isLive(): boolean { + public isLive(): boolean { return !!(this._sources.type !== MediaType.VOD && (this._sources.type === MediaType.LIVE || (this._engine && this._engine.isLive()))); } @@ -1197,7 +1205,7 @@ export default class Player extends FakeEventTarget { * @returns {boolean} - Whether playback is audio. * @private */ - isAudio(): boolean { + public isAudio(): boolean { return this._sources.type === MediaType.AUDIO; } @@ -1206,7 +1214,7 @@ export default class Player extends FakeEventTarget { * @returns {boolean} - Whether the video is seeked to live edge in dvr * @public */ - isOnLiveEdge(): boolean { + public isOnLiveEdge(): boolean { if (this._engine && typeof this._engine.isOnLiveEdge === 'function') { return this._engine.isOnLiveEdge(); } @@ -1219,7 +1227,7 @@ export default class Player extends FakeEventTarget { * @returns {boolean} - Whether live playback has DVR window. * @public */ - isDvr(): boolean { + public isDvr(): boolean { return this.isLive() && this._sources.dvr; } @@ -1229,7 +1237,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - seekToLiveEdge(): void { + public seekToLiveEdge(): void { if (this._engine && this.isLive()) { this._engine.seekToLiveEdge(); this._isOnLiveEdge = true; @@ -1241,7 +1249,7 @@ export default class Player extends FakeEventTarget { * @returns {Number} - start time of DVR window. * @public */ - getStartTimeOfDvrWindow(): number { + public getStartTimeOfDvrWindow(): number { return this._engine ? this._engine.getStartTimeOfDvrWindow() : 0; } @@ -1257,18 +1265,18 @@ export default class Player extends FakeEventTarget { * @returns {Array} - The parsed tracks. * @public */ - getTracks(type?: $Values): Array { + public getTracks(type?: TrackTypes): T[] { switch (type) { - case TrackType.VIDEO: - return Utils.Object.copyDeep(this._getVideoTracks()); - case TrackType.AUDIO: - return Utils.Object.copyDeep(this._getAudioTracks()); - case TrackType.TEXT: - return Utils.Object.copyDeep(this._getTextTracks()); - case TrackType.IMAGE: - return Utils.Object.copyDeep(this._getImageTracks()); - default: - return Utils.Object.copyDeep(this._tracks); + case TrackType.VIDEO: + return Utils.Object.copyDeep(this._getVideoTracks()); + case TrackType.AUDIO: + return Utils.Object.copyDeep(this._getAudioTracks()); + case TrackType.TEXT: + return Utils.Object.copyDeep(this._getTextTracks()); + case TrackType.IMAGE: + return Utils.Object.copyDeep(this._getImageTracks()); + default: + return Utils.Object.copyDeep(this._tracks); } } @@ -1276,7 +1284,7 @@ export default class Player extends FakeEventTarget { * Get an object includes the active video/audio/text tracks * @return {{video: VideoTrack, audio: AudioTrack, text: TextTrack}} - The active tracks object */ - getActiveTracks(): Object { + public getActiveTracks(): {video: VideoTrack, audio: AudioTrack, text: PKTextTrack} { return Utils.Object.copyDeep({ video: this._getVideoTracks().find(track => track.active), audio: this._getAudioTracks().find(track => track.active), @@ -1291,7 +1299,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - selectTrack(track: ?Track): void { + public selectTrack(track?: Track): void { if (this._engine) { if (track instanceof VideoTrack) { this._playbackAttributesState.videoTrack = track; @@ -1302,7 +1310,7 @@ export default class Player extends FakeEventTarget { } } else if (track instanceof AudioTrack) { this._engine.selectAudioTrack(track); - } else if (track instanceof TextTrack) { + } else if (track instanceof PKTextTrack) { this._resetTextDisplay(); if (track.language === OFF) { this.hideTextTrack(); @@ -1327,7 +1335,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - hideTextTrack(): void { + public hideTextTrack(): void { if (this._engine) { this._engine.hideTextTrack(); this._resetTextDisplay(); @@ -1351,17 +1359,17 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - showTextTrack(): void { + public showTextTrack(): void { const textTracks = this._getTextTracks(); const userPreference = this._playbackAttributesState.textLanguage; const prevOrAutoTextLang = userPreference || - this._getLanguage( + this._getLanguage( textTracks, AUTO, textTracks.find(textTrack => textTrack.default) ); - this._setDefaultTrack(textTracks, prevOrAutoTextLang); + this._setDefaultTrack(textTracks, prevOrAutoTextLang); } /** @@ -1373,7 +1381,7 @@ export default class Player extends FakeEventTarget { * @returns {?TextTrack} - A TextTrack Object, which represents the new text track. * @public */ - addTextTrack(kind: string, label?: string, language?: string): ?TextTrack { + public addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack | undefined { if (this._engine && typeof this._engine.addTextTrack === 'function') { return this._engine.addTextTrack(kind, label, language); } @@ -1385,7 +1393,7 @@ export default class Player extends FakeEventTarget { * @returns {Array} - The native TextTracks array. * @public */ - getNativeTextTracks(): Array { + public getNativeTextTracks(): Array { if (this._engine && typeof this._engine.getNativeTextTracks === 'function') { return this._engine.getNativeTextTracks(); } @@ -1398,7 +1406,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - enableAdaptiveBitrate(): void { + public enableAdaptiveBitrate(): void { if (this._engine) { this._engine.enableAdaptiveBitrate(); } @@ -1411,7 +1419,7 @@ export default class Player extends FakeEventTarget { * @returns {boolean} - Whether adaptive bitrate is enabled. * @public */ - isAdaptiveBitrateEnabled(): boolean { + public isAdaptiveBitrateEnabled(): boolean { if (this._engine) { return this._engine.isAdaptiveBitrateEnabled(); } @@ -1425,10 +1433,10 @@ export default class Player extends FakeEventTarget { * @param {Object} config - new config which configure for checking if it relevant config has changed * @private */ - _applyABRRestriction(config: Object): void { + private _applyABRRestriction(config: any): void { if (Utils.Object.hasPropertyPath(config, 'abr.restrictions') && this._engine && this._tracks.length) { const {restrictions} = this._config.abr; - const videoTracks = this._tracks.filter(track => track instanceof VideoTrack); + const videoTracks: VideoTrack[] = this._tracks.filter(track => track instanceof VideoTrack); const newVideoTracks = filterTracksByRestriction(videoTracks, restrictions); if (newVideoTracks.length) { const currentVideoTracks = this._tracks.filter(track => track instanceof VideoTrack && track.available); @@ -1441,7 +1449,7 @@ export default class Player extends FakeEventTarget { if (tracksHasChanged) { this._engine.applyABRRestriction(restrictions); this._tracks.forEach(track => { - if (newVideoTracks.includes(track) || !(track instanceof VideoTrack)) { + if (newVideoTracks.includes(track) || !(track instanceof VideoTrack)) { track.available = true; } else { track.available = false; @@ -1465,9 +1473,9 @@ export default class Player extends FakeEventTarget { * @param {Object} config - new config which configure for checking if it relevant config has changed * @private */ - _applyTextTrackConfig(config: Object): void { + private _applyTextTrackConfig(config: any): void { if (Utils.Object.hasPropertyPath(config, 'text.textTrackDisplaySetting') || Utils.Object.getPropertyPath(config, 'text.forceCenter')) { - let textDisplaySettings = {}; + let textDisplaySettings: any = {}; if (Utils.Object.hasPropertyPath(this._config, 'text.textTrackDisplaySetting')) { textDisplaySettings = Utils.Object.mergeDeep(textDisplaySettings, this._config.text.textTrackDisplaySetting); } @@ -1495,7 +1503,7 @@ export default class Player extends FakeEventTarget { * @public * @return {?ThumbnailInfo} - Thumbnail info */ - getThumbnail(time: number): ?ThumbnailInfo { + public getThumbnail(time: number): ThumbnailInfo | null { if (this._externalThumbnailsHandler.isUsingVttThumbnails()) { return this._externalThumbnailsHandler.getThumbnail(time); } else if (this._engine) { @@ -1510,16 +1518,18 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - setTextDisplaySettings(settings: PKTextTrackDisplaySettingObject): void { + public setTextDisplaySettings(settings: PKTextTrackDisplaySettingObject): void { this._textDisplaySettings = Utils.Object.mergeDeep(this._textDisplaySettings, settings); this._updateCueDisplaySettings(); for (let i = 0; i < this._activeTextCues.length; i++) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore this._activeTextCues[i].hasBeenReset = true; } this._updateTextDisplay(this._activeTextCues); } - get textDisplaySetting(): Object { + public get textDisplaySetting(): any { return Utils.Object.copyDeep(this._textDisplaySettings); } @@ -1528,7 +1538,7 @@ export default class Player extends FakeEventTarget { * @param {TextStyle} style - text styling settings * @returns {void} */ - set textStyle(style: TextStyle): void { + public set textStyle(style: TextStyle) { if (!(style instanceof TextStyle)) { throw new Error('Style must be instance of TextStyle'); } @@ -1539,7 +1549,7 @@ export default class Player extends FakeEventTarget { Utils.Dom.addClassName(element, SUBTITLES_STYLE_CLASS_NAME); Utils.Dom.appendChild(document.head, element); } - let sheet = element.sheet; + const sheet = element.sheet; while (sheet.cssRules.length) { sheet.deleteRule(0); @@ -1564,7 +1574,7 @@ export default class Player extends FakeEventTarget { * Gets style attributes for text tracks. * @returns {?TextStyle} - the current style attribute */ - get textStyle(): ?TextStyle { + public get textStyle(): TextStyle { return this._textStyle.clone(); } @@ -1575,7 +1585,7 @@ export default class Player extends FakeEventTarget { * @returns {boolean} - Whether the player is in fullscreen mode. * @public */ - isFullscreen(): boolean { + public isFullscreen(): boolean { return this._fullscreenController.isFullscreen(); } @@ -1584,7 +1594,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - notifyEnterFullscreen(): void { + public notifyEnterFullscreen(): void { if (this.isFullscreen()) { this.dispatchEvent(new FakeEvent(CustomEventType.ENTER_FULLSCREEN)); } @@ -1595,7 +1605,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - notifyExitFullscreen(): void { + public notifyExitFullscreen(): void { if (!this.isFullscreen()) { this.dispatchEvent(new FakeEvent(CustomEventType.EXIT_FULLSCREEN)); } @@ -1607,7 +1617,7 @@ export default class Player extends FakeEventTarget { * @param {string} elementId - element id to full screen * @returns {void} */ - enterFullscreen(elementId: ?string): void { + public enterFullscreen(elementId?: string): void { this._fullscreenController.enterFullscreen(elementId); } @@ -1616,7 +1626,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - exitFullscreen(): void { + public exitFullscreen(): void { this._fullscreenController.exitFullscreen(); } @@ -1629,7 +1639,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - enterPictureInPicture(): void { + public enterPictureInPicture(): void { if (this.isFullscreen()) { this.exitFullscreen(); } @@ -1643,7 +1653,7 @@ export default class Player extends FakeEventTarget { * @public * @returns {void} */ - exitPictureInPicture(): void { + public exitPictureInPicture(): void { if (this._engine && this._engine.isInPictureInPicture) { this._engine.exitPictureInPicture(); } @@ -1654,7 +1664,7 @@ export default class Player extends FakeEventTarget { * @public * @return {boolean} if the player is in picture in picture mode or not */ - isInPictureInPicture(): boolean { + public isInPictureInPicture(): boolean { if (this._engine) { return this._engine.isInPictureInPicture; } @@ -1666,7 +1676,7 @@ export default class Player extends FakeEventTarget { * @public * @return {boolean} if the picture in picture feature is supported in this environment */ - isPictureInPictureSupported(): boolean { + public isPictureInPictureSupported(): boolean { return !!this._config.playback.pictureInPicture && this._engine.isPictureInPictureSupported(); } @@ -1679,20 +1689,16 @@ export default class Player extends FakeEventTarget { * @returns {boolean} - Whether is VR. * @public */ - isVr(): boolean { + public isVr(): boolean { return !!this._sources.vr; } - // - - // - /** * get the log level * @param {?string} name - the logger name * @returns {Object} - the log level */ - getLogLevel(name?: string): Object { + public getLogLevel(name?: string): ILogLevel { return getLogLevel(name); } @@ -1702,28 +1708,20 @@ export default class Player extends FakeEventTarget { * @param {?string} name - the logger name * @returns {void} */ - setLogLevel(level: Object, name?: string) { + public setLogLevel(level: ILogLevel, name?: string): void { setLogLevel(level, name); } - getDrmInfo(): ?PKDrmDataObject { - return this._engine?.getDrmInfo(); + public getDrmInfo(): PKDrmDataObject | null { + return this._engine.getDrmInfo(); } - // - - // - - // - - // - /** * Remove the current text track from the player view. * @returns {void} * @private */ - _resetTextDisplay(): void { + private _resetTextDisplay(): void { this._activeTextCues = []; this._updateTextDisplay([]); } @@ -1733,7 +1731,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _prepareVideoElement(): void { + private _prepareVideoElement(): void { EngineProvider.getEngines().forEach((Engine: IEngineStatic) => { Engine.prepareVideoElement(this._playerId); }); @@ -1745,7 +1743,7 @@ export default class Player extends FakeEventTarget { * @param {Object} config - object containing the log level. * @private */ - _setConfigLogLevel(config: Object): void { + private _setConfigLogLevel(config: any): void { if (config.log && config.log.level && LogLevel[config.log.level]) { setLogLevel(LogLevel[config.log.level]); } @@ -1760,9 +1758,8 @@ export default class Player extends FakeEventTarget { * @returns {boolean} - Whether sources has been received to the player. * @private */ - _hasSources(sources: PKSourcesConfigObject): boolean { + private _hasSources(sources: PKSourcesConfigObject): boolean { if (sources) { - // $FlowFixMe return !!Object.values(StreamType).find(type => sources[type] && sources[type].length > 0); } return false; @@ -1773,7 +1770,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _createPlayerContainer(): void { + private _createPlayerContainer(): void { const el = (this._el = Utils.Dom.createElement('div')); Utils.Dom.addClassName(el, CONTAINER_CLASS_NAME); Utils.Dom.setAttribute(el, 'id', this._playerId); @@ -1785,7 +1782,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _appendEngineEl(): void { + private _appendEngineEl(): void { if (this._el) { const engineEl = this._engine.getVideoElement(); const className = `${ENGINE_CLASS_NAME}`; @@ -1794,7 +1791,7 @@ export default class Player extends FakeEventTarget { Utils.Dom.addClassName(engineEl, classNameWithId); Utils.Dom.prependTo(engineEl, this._el); if (this._engine.id === 'youtube') { - this._el.style.zIndex = 1; + this._el.style.zIndex = '1'; } } } @@ -1807,7 +1804,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _appendDomElements(): void { + private _appendDomElements(): void { // Append playkit-black-cover this._blackCoverEl = Utils.Dom.createElement('div'); Utils.Dom.addClassName(this._blackCoverEl, BLACK_COVER_CLASS_NAME); @@ -1827,8 +1824,8 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _createReadyPromise(): void { - this._readyPromise = new Promise((resolve, reject) => { + private _createReadyPromise(): void { + this._readyPromise = new Promise((resolve, reject) => { this._eventManager.listenOnce(this, CustomEventType.TRACKS_CHANGED, () => { this.dispatchEvent(new FakeEvent(CustomEventType.MEDIA_LOADED)); // handle playback rate after media loaded, to avoid race condition, so it won't be overwritten @@ -1850,7 +1847,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _handlePlaybackRate(): void { + private _handlePlaybackRate(): void { if (typeof this._playbackAttributesState.rate === 'number') { this.playbackRate = this._playbackAttributesState.rate; } else if (typeof this._config.playback.playbackRate === 'number') { @@ -1864,16 +1861,15 @@ export default class Player extends FakeEventTarget { * according to the priority. * @private */ - _selectEngineByPriority(): boolean { + private _selectEngineByPriority(): boolean { const streamPriority = this._config.playback.streamPriority; const preferNative = this._config.playback.preferNative; const sources = this._sources; - for (let priority of streamPriority) { + for (const priority of streamPriority) { const engineId = typeof priority.engine === 'string' ? priority.engine.toLowerCase() : ''; const format = typeof priority.format === 'string' ? priority.format.toLowerCase() : ''; const Engine = EngineProvider.getEngines().find(Engine => Engine.id === engineId); if (Engine) { - // $FlowFixMe const formatSources = sources[format]; if (formatSources && formatSources.length > 0) { const source = formatSources[0]; @@ -1897,7 +1893,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _loadEngine(Engine: IEngineStatic, source: PKMediaSourceObject) { + private _loadEngine(Engine: IEngineStatic, source: PKMediaSourceObject): void { if (!this._engine) { this._createEngine(Engine, source); this._appendEngineEl(); @@ -1919,9 +1915,9 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _createEngine(Engine: IEngineStatic, source: PKMediaSourceObject): void { + private _createEngine(Engine: IEngineStatic, source: PKMediaSourceObject): void { const engine = Engine.createEngine(source, {...this._config, sources: this._sources}, this._playerId); - this._engine = this._engineDecoratorManager ? new EngineDecorator(engine, this._engineDecoratorManager) : engine; + this._engine = this._engineDecoratorManager ? new EngineDecorator(engine, this._engineDecoratorManager) as EngineDecoratorType : engine; } /** @@ -1929,7 +1925,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _attachMedia(): void { + private _attachMedia(): void { if (this._engine) { Object.keys(Html5EventType).forEach(html5Event => { this._eventManager.listen(this._engine, Html5EventType[html5Event], (event: FakeEvent) => { @@ -2014,7 +2010,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _handleRecovered(): void { + private _handleRecovered(): void { if (this._stateManager.currentState.type === StateType.PLAYING) { this.play(); } @@ -2026,7 +2022,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _onTextTrackChanged(event: FakeEvent): void { + private _onTextTrackChanged(event: FakeEvent): void { this.ready().then(() => (this._playbackAttributesState.textLanguage = event.payload.selectedTextTrack.language)); this._markActiveTrack(event.payload.selectedTextTrack); this.dispatchEvent(event); @@ -2038,11 +2034,13 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _resetTextCuesAndReposition(): void { + private _resetTextCuesAndReposition(): void { this._engine.resetAllCues(); this._externalCaptionsHandler.resetAllCues(); this._updateTextDisplay([]); for (let i = 0; i < this._activeTextCues.length; i++) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore this._activeTextCues[i].hasBeenReset = true; } this._updateTextDisplay(this._activeTextCues); @@ -2053,7 +2051,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _handlePlaybackOptions(): void { + private _handlePlaybackOptions(): void { this._config.playback = this._config.playback || {}; if (typeof this._playbackAttributesState.muted === 'boolean') { this.muted = this._playbackAttributesState.muted; @@ -2086,13 +2084,13 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _handlePreload(): void { + private _handlePreload(): void { if (this._config.playback.preload === 'auto' && !this._config.playback.autoplay) { this.load(); } } - _autoPlay(): void { + private _autoPlay(): void { const allowMutedAutoPlay = this._config.playback.allowMutedAutoPlay; Player.getCapabilities(this.engineType).then(capabilities => { if (capabilities.autoplay) { @@ -2112,7 +2110,7 @@ export default class Player extends FakeEventTarget { } }); - const isMuted = () => { + const isMuted = (): boolean | null => { Player._logger.debug('Checking muted value'); // at this point it is possible that the engine hasn't loaded yet (like youtube), so this.muted is not reflecting the actual state. // first, check if someone set a value in muted; if not, then check the config; lastly, check the engine. @@ -2124,7 +2122,7 @@ export default class Player extends FakeEventTarget { return muted; }; - const onAutoPlay = () => { + const onAutoPlay = (): void => { Player._logger.debug('Start autoplay'); // If the previous state was fallback to muted autoplay: // unmute the player and clear the fallback state @@ -2135,12 +2133,12 @@ export default class Player extends FakeEventTarget { this.play(); }; - const onMutedAutoPlay = () => { + const onMutedAutoPlay = (): void => { Player._logger.debug('Start muted autoplay'); this.play(); }; - const onFallbackToMutedAutoPlay = () => { + const onFallbackToMutedAutoPlay = (): void => { Player._logger.debug('Fallback to muted autoplay'); this._fallbackToMutedAutoPlay = true; this.muted = true; @@ -2148,7 +2146,7 @@ export default class Player extends FakeEventTarget { this.play(); }; - const onAutoPlayFailed = () => { + const onAutoPlayFailed = (): void => { Player._logger.warn('Autoplay failed, pause player'); this._posterManager.show(); this.load(); @@ -2162,7 +2160,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _handleAutoPlay(): void { + private _handleAutoPlay(): void { if (this.isAudio() || this._config.playback.autoplay !== AutoPlayType.TRUE) { this._posterManager.show(); } @@ -2176,7 +2174,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _playAfterAsyncMiddleware(): void { + private _playAfterAsyncMiddleware(): void { if (this._engine) { this._play(); } else { @@ -2184,8 +2182,8 @@ export default class Player extends FakeEventTarget { } } - _load(): void { - const resetFlags = () => { + private _load(): void { + const resetFlags = (): void => { this._loading = false; this._reset = false; }; @@ -2200,7 +2198,7 @@ export default class Player extends FakeEventTarget { } this._updateTracks(data.tracks); this.dispatchEvent(new FakeEvent(CustomEventType.TRACKS_CHANGED, {tracks: this._tracks})); - this._externalThumbnailsHandler.load(this.sources.thumbnails); + if(this.sources.thumbnails) this._externalThumbnailsHandler.load(this.sources.thumbnails); }) .finally(() => { resetFlags(); @@ -2213,7 +2211,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _handleDimensions(): void { + private _handleDimensions(): void { const {dimensions} = this.config; if (Utils.Object.isObject(dimensions) && !Utils.Object.isEmptyObject(dimensions)) { this.dimensions = dimensions; @@ -2225,7 +2223,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _play(): void { + private _play(): void { if (this._shouldLoadAfterAttach) { this._load(); this._shouldLoadAfterAttach = false; @@ -2243,7 +2241,7 @@ export default class Player extends FakeEventTarget { * @returns {boolean} - Whether player should seek to live edge. * @private */ - _shouldPlayerSeekToLiveEdge(): boolean { + private _shouldPlayerSeekToLiveEdge(): boolean { if (this.isLive()) { const outOfDvr = !this.isDvr() || (typeof this.currentTime === 'number' && this.currentTime < 0); if (!this._firstPlay) { @@ -2260,7 +2258,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _pause(): void { + private _pause(): void { this._engine.pause(); } @@ -2270,7 +2268,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _setCurrentTime(to: number): void { + private _setCurrentTime(to: number): void { if (this._engine) { if (Utils.Number.isNumber(to)) { let boundedTo = to; @@ -2292,7 +2290,7 @@ export default class Player extends FakeEventTarget { * @return {void} * @private */ - _onPause(): void { + private _onPause(): void { this._isOnLiveEdge = false; } @@ -2301,7 +2299,7 @@ export default class Player extends FakeEventTarget { * @return {void} * @private */ - _onPlay(): void { + private _onPlay(): void { if (this._firstPlay) { this._firstPlay = false; this.dispatchEvent(new FakeEvent(CustomEventType.FIRST_PLAY)); @@ -2317,7 +2315,7 @@ export default class Player extends FakeEventTarget { * @return {void} * @private */ - _onPlaying(): void { + private _onPlaying(): void { if (!this._firstPlaying) { this._firstPlaying = true; if (!this.isAudio()) { @@ -2327,7 +2325,7 @@ export default class Player extends FakeEventTarget { } if (this._engine && this._pendingSelectedVideoTrack) { this._engine.selectVideoTrack(this._pendingSelectedVideoTrack); - this._pendingSelectedVideoTrack = null; + this._pendingSelectedVideoTrack = undefined; } } @@ -2337,7 +2335,7 @@ export default class Player extends FakeEventTarget { * @return {void} * @private */ - _onPlayFailed(event: FakeEvent): void { + private _onPlayFailed(event: FakeEvent): void { if (this._firstPlay && this._config.playback.autoplay) { this._posterManager.show(); this.dispatchEvent(new FakeEvent(CustomEventType.AUTOPLAY_FAILED, event.payload)); @@ -2349,7 +2347,7 @@ export default class Player extends FakeEventTarget { * @return {void} * @private */ - _onEnded(): void { + private _onEnded(): void { if (!this.paused) { this._pause(); } @@ -2360,7 +2358,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _resetStateFlags(): void { + private _resetStateFlags(): void { this._loading = false; this._firstPlay = true; this._loadingMedia = false; @@ -2375,7 +2373,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @public */ - _calcRatio(targetElement: HTMLDivElement, dimensions: PKDimensionsConfig) { + private _calcRatio(targetElement: HTMLDivElement, dimensions: PKDimensionsConfig): void { if (typeof dimensions.ratio !== 'undefined') { this._aspectRatio = dimensions.ratio; } @@ -2396,7 +2394,7 @@ export default class Player extends FakeEventTarget { * @private * @static */ - static get _defaultConfig(): Object { + public static get _defaultConfig(): any { return Utils.Object.copyDeep(DefaultConfig); } @@ -2410,7 +2408,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _onTracksChanged(event: FakeEvent): void { + public _onTracksChanged(event: FakeEvent): void { this._updateTracks(event.payload.tracks); this.dispatchEvent(event); } @@ -2421,7 +2419,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _updateTracks(tracks: Array): void { + public _updateTracks(tracks: Array): void { Player._logger.debug('Tracks changed', tracks); this._tracks = tracks.concat(this._externalCaptionsHandler.getExternalTracks(tracks)); this._applyABRRestriction(this._config); @@ -2438,13 +2436,13 @@ export default class Player extends FakeEventTarget { * @returns {Array} - The parsed tracks. * @private */ - _getTracksByType(type: T): Array { - return this._tracks.reduce((arr, track) => { + private _getTracksByType(type: { new(...args: any[]): T }): T[] { + return this._tracks.reduce((arr: T[], track) => { if (track instanceof type && track.available) { arr.push(track); } return arr; - }, ([]: Array)); + }, [] as T[]); } /** @@ -2453,7 +2451,7 @@ export default class Player extends FakeEventTarget { * @returns {Array} - The image tracks. * @private */ - _getImageTracks(): Array { + private _getImageTracks(): Array { return this._getTracksByType(ImageTrack); } @@ -2463,8 +2461,8 @@ export default class Player extends FakeEventTarget { * @returns {Array} - The text tracks. * @private */ - _getTextTracks(): Array { - return this._getTracksByType(TextTrack); + public _getTextTracks(): Array { + return this._getTracksByType(PKTextTrack); } /** @@ -2473,7 +2471,7 @@ export default class Player extends FakeEventTarget { * @returns {Array} - The video tracks. * @private */ - _getVideoTracks(): Array { + private _getVideoTracks(): Array { return this._getTracksByType(VideoTrack); } @@ -2483,7 +2481,7 @@ export default class Player extends FakeEventTarget { * @returns {Array} - The audio tracks. * @private */ - _getAudioTracks(): Array { + private _getAudioTracks(): Array { return this._getTracksByType(AudioTrack); } @@ -2494,13 +2492,13 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _markActiveTrack(track: Track): void { + private _markActiveTrack(track: Track): void { let tracks; if (track instanceof VideoTrack) { tracks = this._getVideoTracks(); } else if (track instanceof AudioTrack) { tracks = this._getAudioTracks(); - } else if (track instanceof TextTrack) { + } else if (track instanceof PKTextTrack) { tracks = this._getTextTracks(); } if (tracks) { @@ -2516,7 +2514,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _onCueChange(event: FakeEvent): void { + private _onCueChange(event: FakeEvent): void { Player._logger.debug('Text cue changed', event.payload.cues); //TODO: remove filter once FEC-11048 fix is done try { @@ -2540,12 +2538,12 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _updateCueDisplaySettings(): void { + private _updateCueDisplaySettings(): void { const activeCues = this._activeTextCues; const settings = this._textDisplaySettings; for (let i = 0; i < activeCues.length; i++) { - let cue = activeCues[i]; - for (let name in settings) { + const cue = activeCues[i]; + for (const name in settings) { if (settings[name]) { cue[name] = settings[name]; } @@ -2559,7 +2557,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _updateTextDisplay(cues: Array): void { + private _updateTextDisplay(cues: Array): void { if (!this._config.text.useNativeTextTrack && !this._config.text.useShakaTextTrackDisplay) { processCues(window, cues, this._textDisplayEl, this._textStyle); } @@ -2571,13 +2569,13 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _addTextTrackOffOption(): void { + private _addTextTrackOffOption(): void { const textTracks = this._getTextTracks(); if (textTracks && textTracks.length) { this._tracks.push( - new TextTrack({ + new PKTextTrack({ active: false, - kind: TextTrack.KIND.SUBTITLES, + kind: PKTextTrack.KIND.SUBTITLES, label: 'Off', language: OFF }) @@ -2590,12 +2588,12 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _setDefaultTracks(): void { + private _setDefaultTracks(): void { const activeTracks = this.getActiveTracks(); const defaultStreamTrack = this._getTextTracks().find(track => track.default); const playbackConfig = this.config.playback; - const offTextTrack: ?Track = this._getTextTracks().find(track => TextTrack.langComparer(OFF, track.language)); - const defaultLanguage = this._getLanguage(this._getTextTracks(), playbackConfig.textLanguage, defaultStreamTrack); + const offTextTrack: Track = this._getTextTracks().find(track => PKTextTrack.langComparer(OFF, track.language))! ; + const defaultLanguage = this._getLanguage(this._getTextTracks(), playbackConfig.textLanguage, defaultStreamTrack); const currentOrConfiguredTextLang = !this._playbackAttributesState.textLanguage || this.config.disableUserCache ? defaultLanguage : this._playbackAttributesState.textLanguage; const currentOrConfiguredAudioLang = @@ -2603,12 +2601,12 @@ export default class Player extends FakeEventTarget { this._getLanguage(this._getAudioTracks(), playbackConfig.audioLanguage, activeTracks.audio); if (!playbackConfig.captionsDisplay) { this._playbackAttributesState.textLanguage = defaultLanguage; - this._setDefaultTrack(this._getTextTracks(), OFF, offTextTrack); + this._setDefaultTrack(this._getTextTracks(), OFF, offTextTrack); } else { if (currentOrConfiguredTextLang === playbackConfig.textLanguage) { - this._setDefaultTrack(this._getTextTracks(), currentOrConfiguredTextLang, offTextTrack, playbackConfig.additionalTextLanguage); + this._setDefaultTrack(this._getTextTracks(), currentOrConfiguredTextLang, offTextTrack, playbackConfig.additionalTextLanguage); } else { - this._setDefaultTrack(this._getTextTracks(), currentOrConfiguredTextLang, offTextTrack); + this._setDefaultTrack(this._getTextTracks(), currentOrConfiguredTextLang, offTextTrack); } } if (currentOrConfiguredAudioLang === playbackConfig.audioLanguage) { @@ -2632,10 +2630,10 @@ export default class Player extends FakeEventTarget { * @private * @returns {string} - The track language to set by default. */ - _getLanguage(tracks: Array, configuredLanguage: string, defaultTrack: ?T): string { + private _getLanguage(tracks: T[], configuredLanguage: string, defaultTrack?: T): string { let language = configuredLanguage; if (language === AUTO) { - const localeTrack: ?T = tracks.find(track => Track.langComparer(Locale.language, track.language)); + const localeTrack: T | undefined = tracks.find(track => Track.langComparer(Locale.language, track.language)); if (localeTrack) { language = localeTrack.language; } else if (defaultTrack && defaultTrack.language !== OFF) { @@ -2657,16 +2655,21 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _setDefaultTrack(tracks: Array, language: string, defaultTrack: ?Track, additionalLanguage: ?string): void { - const updateTrack = track => { + private _setDefaultTrack( + tracks: T[], + language: string, + defaultTrack?: Track | null, + additionalLanguage?: string + ): void { + const updateTrack = (track: T): void => { this.selectTrack(track); this._markActiveTrack(track); }; - const sameTrack: ?T = tracks.find(track => Track.langComparer(language, track.language, additionalLanguage, true)); + const sameTrack: T | undefined = tracks.find(track => Track.langComparer(language, track.language, additionalLanguage, true)); if (sameTrack) { updateTrack(sameTrack); } else { - const track: ?T = tracks.find(track => Track.langComparer(language, track.language, additionalLanguage, false)); + const track: T | undefined = tracks.find(track => Track.langComparer(language, track.language, additionalLanguage, false)); if (track) { updateTrack(track); } else if (defaultTrack && !defaultTrack.active) { @@ -2680,7 +2683,7 @@ export default class Player extends FakeEventTarget { * @returns {void} * @private */ - _setDefaultVideoTrack(): void { + private _setDefaultVideoTrack(): void { const sortedVideoTracks = this._getVideoTracks().sort((track1: VideoTrack, track2: VideoTrack) => track2.bandwidth - track1.bandwidth); let selectedVideoTrack = sortedVideoTracks.find( (track: VideoTrack) => track.label && track.label === this._playbackAttributesState.videoTrack?.label @@ -2701,23 +2704,23 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _maybeSetTracksLabels() { + private _maybeSetTracksLabels(): void { const customLabels = this._config.customLabels; if (customLabels) { - for (let callbackType in customLabels) { + for (const callbackType in customLabels) { if (!Object.prototype.hasOwnProperty.call(customLabels, callbackType)) { return; } switch (callbackType) { - case LabelOptions.QUALITIES: - this._setTracksCustomLabels(this._getVideoTracks(), customLabels[callbackType]); - break; - case LabelOptions.AUDIO: - this._setTracksCustomLabels(this._getAudioTracks(), customLabels[callbackType]); - break; - case LabelOptions.CAPTIONS: - this._setTracksCustomLabels(this._getTextTracks(), customLabels[callbackType]); - break; + case LabelOptions.QUALITIES: + this._setTracksCustomLabels(this._getVideoTracks(), customLabels[callbackType]); + break; + case LabelOptions.AUDIO: + this._setTracksCustomLabels(this._getAudioTracks(), customLabels[callbackType]); + break; + case LabelOptions.CAPTIONS: + this._setTracksCustomLabels(this._getTextTracks(), customLabels[callbackType]); + break; } } } @@ -2731,7 +2734,7 @@ export default class Player extends FakeEventTarget { * @private * @returns {void} */ - _setTracksCustomLabels(tracks: Array, callback: Function) { + private _setTracksCustomLabels(tracks: T[], callback: (track: T) => string): void { tracks.forEach(track => { const result = callback(Utils.Object.copyDeep(track)); if (result) { @@ -2740,18 +2743,12 @@ export default class Player extends FakeEventTarget { }); } - // - - // - - // - /** * Gets the player event types. * @returns {PKEventTypes} - The event types of the player. * @public */ - get Event(): PKEventTypes { + public get Event(): PKEventTypes { return EventType; } @@ -2760,7 +2757,7 @@ export default class Player extends FakeEventTarget { * @returns {TextStyle} - The TextStyle class * @public */ - get TextStyle(): typeof TextStyle { + public get TextStyle(): typeof TextStyle { return TextStyle; } @@ -2769,7 +2766,7 @@ export default class Player extends FakeEventTarget { * @returns {PKStateTypes} - The state types of the player. * @public */ - get State(): PKStateTypes { + public get State(): typeof StateType { return StateType; } @@ -2778,7 +2775,7 @@ export default class Player extends FakeEventTarget { * @returns {TrackType} - The tracks types of the player. * @public */ - get Track(): typeof TrackType { + public get Track(): typeof TrackType { return TrackType; } @@ -2787,7 +2784,7 @@ export default class Player extends FakeEventTarget { * @returns {PKLogLevelTypes} - The log level types of the player. * @public */ - get LogLevelType(): PKLogLevelTypes { + public get LogLevelType(): Record { return LogLevelType; } @@ -2796,7 +2793,7 @@ export default class Player extends FakeEventTarget { * @returns {PKLogLevels} - The log levels objects of the player. * @public */ - get LogLevel(): PKLogLevels { + public get LogLevel(): LoggerLevels { return LogLevel; } @@ -2805,7 +2802,7 @@ export default class Player extends FakeEventTarget { * @returns {PKAbrModes} - The abr modes of the player. * @public */ - get AbrMode(): PKAbrModes { + public get AbrMode(): typeof AbrMode { return AbrMode; } @@ -2814,7 +2811,7 @@ export default class Player extends FakeEventTarget { * @returns {PKMediaTypes} - The media types of the player. * @public */ - get MediaType(): PKMediaTypes { + public get MediaType(): typeof MediaType { return MediaType; } @@ -2823,7 +2820,7 @@ export default class Player extends FakeEventTarget { * @returns {PKStreamTypes} - The stream types of the player. * @public */ - get StreamType(): PKStreamTypes { + public get StreamType(): typeof StreamType { return StreamType; } @@ -2832,7 +2829,7 @@ export default class Player extends FakeEventTarget { * @returns {PKEngineTypes} - The engine types of the player. * @public */ - get EngineType(): PKEngineTypes { + public get EngineType(): typeof EngineType { return EngineType; } @@ -2841,7 +2838,7 @@ export default class Player extends FakeEventTarget { * @returns {PKCorsTypes} - The player cors types. * @public */ - get CorsType(): PKCorsTypes { + public get CorsType(): typeof CorsType { return CorsType; } @@ -2850,7 +2847,7 @@ export default class Player extends FakeEventTarget { * @returns {PKAdBreakTypes} - The ad break types of the player. * @public */ - get AdBreakType(): PKAdBreakTypes { + public get AdBreakType(): typeof AdBreakType { return AdBreakType; } @@ -2859,7 +2856,7 @@ export default class Player extends FakeEventTarget { * @returns {PKAdTagTypes} - The ad tag types of the player. * @public */ - get AdTagType(): PKAdTagTypes { + public get AdTagType(): typeof AdTagType{ return AdTagType; } @@ -2868,9 +2865,7 @@ export default class Player extends FakeEventTarget { * @returns {PKError} - The player static error class. * @public */ - get Error(): typeof PKError { + public get Error(): typeof PKError { return PKError; } - - // } diff --git a/src/playkit.js b/src/playkit.ts similarity index 88% rename from src/playkit.js rename to src/playkit.ts index c375263c9..f2035ff33 100644 --- a/src/playkit.js +++ b/src/playkit.ts @@ -1,4 +1,3 @@ -//@flow import Player from './player'; import BaseMediaSourceAdapter from './engines/html5/media-source/base-media-source-adapter'; import {registerMediaSourceAdapter} from './engines/html5/media-source/media-source-provider'; @@ -10,16 +9,12 @@ import Track from './track/track'; import ImageTrack from './track/image-track'; import VideoTrack from './track/video-track'; import AudioTrack from './track/audio-track'; -import TextTrack from './track/text-track'; +import TextTrack, {PKTextTrack} from './track/text-track'; import {TimedMetadata, createTextTrackCue, createTimedMetadata} from './track/timed-metadata'; import TextStyle from './track/text-style'; -import {Cue} from './track/vtt-cue'; import Env from './utils/env'; import * as Utils from './utils'; import Error from './error/error'; -import FakeEvent from './event/fake-event'; -import FakeEventTarget from './event/fake-event-target'; -import EventManager from './event/event-manager'; import {StateType} from './state/state-type'; import {TrackType} from './track/track-type'; import {StreamType} from './engines/stream-type'; @@ -40,8 +35,8 @@ import {AutoPlayType} from './enums/auto-play-type'; import {ThumbnailInfo} from './thumbnail/thumbnail-info'; import {filterTracksByRestriction} from './utils/restrictions'; -declare var __VERSION__: string; -declare var __NAME__: string; +declare let __VERSION__: string; +declare let __NAME__: string; const VERSION = __VERSION__; const NAME = __NAME__; @@ -50,7 +45,7 @@ const NAME = __NAME__; * @param {Object} config - The configuration of the player * @returns {Player} - The player instance */ -export function loadPlayer(config: ?Object) { +export function loadPlayer(config: any): Player { return new Player(config || {}); } @@ -61,7 +56,7 @@ export {registerMediaSourceAdapter, BaseMediaSourceAdapter}; export {BaseMiddleware}; // Export the tracks classes -export {Track, VideoTrack, AudioTrack, TextTrack, ImageTrack, TextStyle, Cue}; +export {Track, VideoTrack, AudioTrack, TextTrack, PKTextTrack, ImageTrack, TextStyle}; // Export the timed metadata class and function export {TimedMetadata, createTextTrackCue, createTimedMetadata}; @@ -75,7 +70,9 @@ export {Utils as utils}; export {Error}; // Export Event system -export {FakeEvent, FakeEventTarget, EventManager}; +export {FakeEvent} from './event/fake-event'; +export {EventManager} from './event/event-manager'; +export {FakeEventTarget} from './event/fake-event-target'; // Export version and player name export {VERSION, NAME}; @@ -130,4 +127,8 @@ export {ThumbnailInfo}; // Export logger utils export {getLogger, LogLevel, getLogLevel, setLogLevel, setLogHandler}; +export {Player} + +export * from './types' + export default loadPlayer; diff --git a/src/state/state-manager.js b/src/state/state-manager.ts similarity index 86% rename from src/state/state-manager.js rename to src/state/state-manager.ts index 0cc2443f5..f8bacb7b9 100644 --- a/src/state/state-manager.js +++ b/src/state/state-manager.ts @@ -1,13 +1,14 @@ -//@flow + import Player from '../player'; -import EventManager from '../event/event-manager'; +import { EventManager } from '../event/event-manager'; import State from './state'; import {StateType} from './state-type'; import {CustomEventType, Html5EventType} from '../event/event-type'; -import FakeEvent from '../event/fake-event'; +import { FakeEvent } from '../event/fake-event'; import getLogger from '../utils/logger'; import Env from '../utils/env'; import Error from '../error/error'; +import {StateChanged, Transition} from '../types'; /** * This class responsible to manage all the state machine of the player. @@ -20,55 +21,55 @@ export default class StateManager { * @type {any} * @private */ - _logger: any; + private _logger: any; /** * Reference to the actual player. * @member * @type {Player} * @private */ - _player: Player; + private _player: Player; /** * The event manager of the class. * @member * @type {EventManager} * @private */ - _eventManager: EventManager; + private _eventManager: EventManager; /** * Holds the current state of the player. * @member * @type {State} * @private */ - _curState: State; + private _curState: State; /** * Holds the previous state of the player. * @member * @type {State | null} * @private */ - _prevState: State | null; + private _prevState: State | null; /** * Holds the time of the beginning of the last buffering (waiting event) * @member * @type {number | null} * @private */ - _lastWaitingTime: ?number | null; + private _lastWaitingTime?: number | null; /** * Holds the state history of the player. * @member * @type {Array} * @private */ - _history: Array; + private _history: Array; /** * The possible transitions from one state to another. * @type {Array} * @private */ - _transitions: Transition = { + private _transitions: Transition = { [StateType.IDLE]: { [Html5EventType.LOAD_START]: () => this._updateState(StateType.LOADING), [Html5EventType.PLAY]: () => this._updateState(StateType.BUFFERING), @@ -122,7 +123,8 @@ export default class StateManager { * @constructor * @param {Player} player - Reference to the player. */ - constructor(player: Player) { + // constructor(player: Player) { + constructor(player: any) { this._player = player; this._logger = getLogger('StateManager'); this._eventManager = new EventManager(); @@ -137,7 +139,7 @@ export default class StateManager { * @private * @returns {void} */ - _attachListeners(): void { + private _attachListeners(): void { this._eventManager.listen(this._player, Html5EventType.ERROR, this._doTransition.bind(this)); this._eventManager.listen(this._player, Html5EventType.ENDED, this._doTransition.bind(this)); this._eventManager.listen(this._player, Html5EventType.PLAY, this._doTransition.bind(this)); @@ -156,11 +158,13 @@ export default class StateManager { * @private * @returns {void} */ - _doTransition(event: FakeEvent): void { + private _doTransition(event: FakeEvent): void { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore if (event.type !== Html5EventType.TIME_UPDATE || (this._curState === StateType.BUFFERING && event.type === Html5EventType.TIME_UPDATE)) { this._logger.debug('Do transition request', event.type); // don't show most of 'timeupdate' events } - let transition = this._transitions[this._curState.type]; + const transition = this._transitions[this._curState.type]; if (typeof transition[event.type] === 'function') { transition[event.type](event); } @@ -172,7 +176,7 @@ export default class StateManager { * @private * @returns {void} */ - _updateState(type: string): void { + private _updateState(type: string): void { if (this._curState.type !== type) { this._curState.duration = Date.now() / 1000; this._history.push(this._curState); @@ -188,13 +192,13 @@ export default class StateManager { * @private * @returns {void} */ - _dispatchEvent(): void { - let event = new FakeEvent( + private _dispatchEvent(): void { + const event = new FakeEvent( CustomEventType.PLAYER_STATE_CHANGED, ({ oldState: this._prevState, newState: this._curState - }: StateChanged) + } as StateChanged) ); this._player.dispatchEvent(event); } @@ -204,7 +208,7 @@ export default class StateManager { * @public * @returns {void} */ - destroy(): void { + public destroy(): void { this._history = []; this._eventManager.destroy(); } @@ -214,7 +218,7 @@ export default class StateManager { * @public * @returns {void} */ - reset(): void { + public reset(): void { this._history = []; } @@ -223,7 +227,7 @@ export default class StateManager { * @public * @returns {State} - The current state object */ - get currentState(): State { + public get currentState(): State { return this._curState; } @@ -232,7 +236,7 @@ export default class StateManager { * @public * @returns {State|null} - The previous state object, or null if such doesn't exists */ - get previousState(): State | null { + public get previousState(): State | null { return this._prevState; } @@ -241,7 +245,7 @@ export default class StateManager { * @public * @returns {Array.} - The full states history objects */ - get history(): Array { + public get history(): State[] { return this._history; } } diff --git a/src/state/state-type.js b/src/state/state-type.ts similarity index 61% rename from src/state/state-type.js rename to src/state/state-type.ts index 45a3b2acb..fc5cd4c6c 100644 --- a/src/state/state-type.js +++ b/src/state/state-type.ts @@ -1,10 +1,7 @@ -//@flow -const StateType: PKStateTypes = { +export const StateType = { IDLE: 'idle', LOADING: 'loading', PLAYING: 'playing', PAUSED: 'paused', BUFFERING: 'buffering' -}; - -export {StateType}; +} as const; diff --git a/src/state/state.js b/src/state/state.ts similarity index 85% rename from src/state/state.js rename to src/state/state.ts index 9c75bcbef..ec4e5abaf 100644 --- a/src/state/state.js +++ b/src/state/state.ts @@ -1,5 +1,3 @@ -//@flow - /** * This class describes a player state. * @classdesc @@ -12,21 +10,21 @@ export default class State { * @type {string} * @public */ - type: string; + public type: string; /** * The duration that the player was in this state. * @member * @type {number} * @private */ - _duration: number; + private _duration: number; /** * The timestamp that this state started. * @member * @type {number} * @private */ - _timestamp: number; + private _timestamp: number; /** * @constructor @@ -42,7 +40,7 @@ export default class State { * Getter for the duration of the state. * @returns {number} - The duration of the state */ - get duration(): number { + public get duration(): number { return this._duration; } @@ -50,7 +48,7 @@ export default class State { * Setter for the duration of the state. * @param {number} endTime - The timestamp of the next state. */ - set duration(endTime: number): void { + public set duration(endTime: number) { this._duration = endTime - this._timestamp; } } diff --git a/src/thumbnail/external-thumbnails-handler.js b/src/thumbnail/external-thumbnails-handler.ts similarity index 80% rename from src/thumbnail/external-thumbnails-handler.js rename to src/thumbnail/external-thumbnails-handler.ts index e94d55f55..3317926bb 100644 --- a/src/thumbnail/external-thumbnails-handler.js +++ b/src/thumbnail/external-thumbnails-handler.ts @@ -1,13 +1,13 @@ -import EventManager from '../event/event-manager'; -import FakeEventTarget from '../event/fake-event-target'; +import { EventManager } from '../event/event-manager'; +import { FakeEventTarget } from '../event/fake-event-target'; import getLogger from '../utils/logger'; import {Parser, StringDecoder} from '../track/text-track-display'; import * as Utils from '../utils/util'; import {ThumbnailInfo} from './thumbnail-info'; -import {Cue} from '../track/vtt-cue'; import Error from '../error/error'; -import FakeEvent from '../event/fake-event'; +import { FakeEvent } from '../event/fake-event'; import {Html5EventType} from '../event/event-type'; +import {PKExternalThumbnailsConfig, PKThumbnailVttCue} from '../types'; const VTT_INCLUDES_SIZE_ONLY: RegExp = /#wh=/i; const VTT_INCLUDES_SIZE_AND_COORDS: RegExp = /#xywh=/i; @@ -26,28 +26,28 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @static * @private */ - static _logger: any = getLogger('ExternalThumbnailsHandler'); + private static _logger: any = getLogger('ExternalThumbnailsHandler'); /** * event manager for the external thumbnails handler * @type {EventManager} * @private */ - _eventManager: EventManager; + private _eventManager: EventManager; /** * the processed thumbnail cues * @type {Array} * @private */ - _cues: Array = []; + private _cues: Array = []; /** * computed img dimensions based on its natural ratio * @type {Object} * @private */ - _naturalImgSize: {width: number, height: number}; + private _naturalImgSize!: {width: number, height: number} | null; /** * start the loading and parsing process of the vtt thumbnails file. @@ -55,7 +55,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {void} * @public */ - async load(thumbnailsConfig: PKExternalThumbnailsConfig): Promise { + public async load(thumbnailsConfig: PKExternalThumbnailsConfig): Promise { if (!thumbnailsConfig) { return; } @@ -69,14 +69,15 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {ThumbnailInfo | null} - the thumbnail img info. * @public */ - getThumbnail(time: number): ThumbnailInfo | null { - const cue: PKThumbnailVttCue = this._findCue(time, this._cues); + public getThumbnail(time: number): ThumbnailInfo | null { + const cue: PKThumbnailVttCue | null = this._findCue(time, this._cues); if (cue) { - let {size, coordinates, imgUrl} = cue; + const {imgUrl} = cue; + let {size, coordinates} = cue; size = size ? size : this._naturalImgSize; coordinates = coordinates ? coordinates : {x: 0, y: 0}; const thumbnailInfo = {url: imgUrl, ...size, ...coordinates}; - return new ThumbnailInfo(thumbnailInfo); + return new ThumbnailInfo(thumbnailInfo as ThumbnailInfo); } return null; } @@ -86,7 +87,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {boolean} whether or not this player using external vtt thumbnails. * @public */ - isUsingVttThumbnails(): boolean { + public isUsingVttThumbnails(): boolean { return !!this._cues?.length; } @@ -96,10 +97,10 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {Promise} - resolve when the loading and parsing process is complete * @private */ - async _downloadAndParseCues(thumbnailsConfig: PKExternalThumbnailsConfig): Promise { + private async _downloadAndParseCues(thumbnailsConfig: PKExternalThumbnailsConfig): Promise { try { const VttStr: string = await this._downloadVttFile(thumbnailsConfig); - const cuesArray: Array = await this._processVtt(VttStr); + const cuesArray: Array = await this._processVtt(VttStr); this._cues = await this._formatIntoThumbnailCues(cuesArray, thumbnailsConfig); } catch (error) { this.dispatchEvent(new FakeEvent(Html5EventType.ERROR, error)); @@ -112,7 +113,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {Promise} - resolves with the vtt string. * @private */ - async _downloadVttFile(thumbnailsConfig: PKExternalThumbnailsConfig): Promise { + private async _downloadVttFile(thumbnailsConfig: PKExternalThumbnailsConfig): Promise { try { return await Utils.Http.execute(thumbnailsConfig.vttUrl, {}, 'GET'); } catch (error) { @@ -126,12 +127,12 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {Array} - parsed cues array * @private */ - async _processVtt(vttStr: string): Promise> { - return new Promise((resolve, reject) => { - const parser: Parser = new Parser(window, StringDecoder()); - const cues: Cue[] = []; - parser.oncue = cue => cues.push(cue); - parser.onflush = () => { + private async _processVtt(vttStr: string): Promise { + return new Promise((resolve, reject) => { + const parser = new Parser(window, StringDecoder()); + const cues: VTTCue[] = []; + parser.oncue = ((cue): void => {cues.push(cue)}); + parser.onflush = (): void => { ExternalThumbnailsHandler._logger.debug('finished parsing thumbnails cues'); resolve(cues); }; @@ -148,7 +149,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {Array} - cues contains the thumbnails metadata. * @private */ - async _formatIntoThumbnailCues(cues: Array, thumbnailsConfig: PKExternalThumbnailsConfig): Array { + private async _formatIntoThumbnailCues(cues: Array, thumbnailsConfig: PKExternalThumbnailsConfig): Promise { if (!this.validateThumbnailsVTTFormat(cues)) { throw new Error(Error.Severity.RECOVERABLE, Error.Category.TEXT, Error.Code.INVALID_VTT_THUMBNAILS_FILE, { message: 'invalid thumbnail vtt format', @@ -173,8 +174,8 @@ class ExternalThumbnailsHandler extends FakeEventTarget { } } - validateThumbnailsVTTFormat(cues): boolean { - return cues.length && cues[0] instanceof Cue; + private validateThumbnailsVTTFormat(cues): boolean { + return cues.length && cues[0] instanceof VTTCue; } /** @@ -183,7 +184,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {Object} - the natural image dimensions * @private */ - extractImgNaturalDimensions(imgUrl: string): Promise<{height: number, width: number} | null> { + private extractImgNaturalDimensions(imgUrl: string): Promise<{height: number, width: number} | null> { return new Promise(resolve => { const img = new Image(); img.src = imgUrl; @@ -200,7 +201,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {boolean} - indicates the url is valid or not * @private */ - validateImgUrl(imgUrl: string): Promise { + private validateImgUrl(imgUrl: string): Promise { return new Promise(resolve => { const img = new Image(); img.src = imgUrl; @@ -218,7 +219,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {PKThumbnailVttCue} - cue object contains the img metadata. * @private */ - _extractCueMetadata(vttCue: VTTCue, thumbnailsConfig: PKExternalThumbnailsConfig): PKThumbnailVttCue { + private _extractCueMetadata(vttCue: VTTCue, thumbnailsConfig: PKExternalThumbnailsConfig): PKThumbnailVttCue { const {startTime, endTime, text} = vttCue; const imgBaseUrl = thumbnailsConfig.vttUrl.substring(0, thumbnailsConfig.vttUrl.lastIndexOf('/')); const isVTTIncludesImgSizeOnly: boolean = VTT_INCLUDES_SIZE_ONLY.test(text); @@ -228,7 +229,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { let imgUrl: string; let imgData: string; let coordinates: {x: number, y: number} | null = null; - let size: {width: number, height: number} = null; + let size: {width: number, height: number} | null = null; if (isVTTIncludesImgSizeOnly) { [imgUrl] = text.split(VTT_INCLUDES_SIZE_ONLY); @@ -269,7 +270,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {PKThumbnailVttCue | null} - the thumbnail cue linked to that timing. * @private */ - _findCue(time: number, cues: Array): PKThumbnailVttCue | null { + private _findCue(time: number, cues: Array): PKThumbnailVttCue | null { let left = 0; let right = cues.length - 1; while (left <= right) { @@ -291,10 +292,10 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {void} * @public */ - reset(): void { + public reset(): void { this._cues = []; this._eventManager.removeAll(); - this._naturalImgSize = {}; + this._naturalImgSize = {} as {width: number, height: number}; } /** @@ -302,7 +303,7 @@ class ExternalThumbnailsHandler extends FakeEventTarget { * @returns {void} * @public */ - destroy(): void { + public destroy(): void { this.reset(); this._eventManager.destroy(); } diff --git a/src/thumbnail/thumbnail-info.js b/src/thumbnail/thumbnail-info.ts similarity index 61% rename from src/thumbnail/thumbnail-info.js rename to src/thumbnail/thumbnail-info.ts index b8f28fe04..226529efd 100644 --- a/src/thumbnail/thumbnail-info.js +++ b/src/thumbnail/thumbnail-info.ts @@ -1,10 +1,9 @@ -// @flow class ThumbnailInfo { - _url: string; - _width: number; - _height: number; - _x: number; - _y: number; + private _url: string; + private _width: number; + private _height: number; + private _x: number; + private _y: number; constructor(info: {url: string, width: number, height: number, x: number, y: number}) { const {url, width, height, x, y} = info; @@ -15,23 +14,23 @@ class ThumbnailInfo { this._y = y; } - get url(): string { + public get url(): string { return this._url; } - get width(): number { + public get width(): number { return this._width; } - get height(): number { + public get height(): number { return this._height; } - get x(): number { + public get x(): number { return this._x; } - get y(): number { + public get y(): number { return this._y; } } diff --git a/src/track/abr-mode-type.js b/src/track/abr-mode-type.js deleted file mode 100644 index ba619791c..000000000 --- a/src/track/abr-mode-type.js +++ /dev/null @@ -1,7 +0,0 @@ -// @flow -const AbrMode: PKAbrModes = { - MANUAL: 'manual', - AUTO: 'auto' -}; - -export {AbrMode}; diff --git a/src/track/abr-mode-type.ts b/src/track/abr-mode-type.ts new file mode 100644 index 000000000..8bd7f7fc4 --- /dev/null +++ b/src/track/abr-mode-type.ts @@ -0,0 +1,4 @@ +export const AbrMode = { + MANUAL: 'manual', + AUTO: 'auto' +} as const; diff --git a/src/track/audio-track.js b/src/track/audio-track.ts similarity index 66% rename from src/track/audio-track.js rename to src/track/audio-track.ts index 9506a27bd..b7ebabd00 100644 --- a/src/track/audio-track.js +++ b/src/track/audio-track.ts @@ -5,6 +5,6 @@ import Track from './track'; * Audio track representation of the player. * @classdesc */ -const AudioTrack: AudioTrack = class AudioTrack extends Track {}; +class AudioTrack extends Track {} export default AudioTrack; diff --git a/src/track/external-captions-handler.js b/src/track/external-captions-handler.ts similarity index 80% rename from src/track/external-captions-handler.js rename to src/track/external-captions-handler.ts index b986f8e7f..d3977f442 100644 --- a/src/track/external-captions-handler.js +++ b/src/track/external-captions-handler.ts @@ -1,16 +1,15 @@ -//@flow import Error from '../error/error'; import * as Utils from '../utils/util'; import {Parser, StringDecoder} from './text-track-display'; import TextTrack, {getActiveCues} from './text-track'; import Track from './track'; import {CustomEventType, Html5EventType} from '../event/event-type'; -import FakeEvent from '../event/fake-event'; +import { FakeEvent } from '../event/fake-event'; import getLogger from '../utils/logger'; -import EventManager from '../event/event-manager'; -import FakeEventTarget from '../event/fake-event-target'; -import {Cue} from './vtt-cue'; +import { EventManager } from '../event/event-manager'; +import { FakeEventTarget } from '../event/fake-event-target'; import Player from '../player'; +import {PKExternalCaptionObject} from '../types/external-caption-object'; type CueStatusType = {[status: string]: number}; @@ -36,55 +35,55 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @static * @private */ - static _logger: any = getLogger('ExternalCaptionsHandler'); + public static _logger: any = getLogger('ExternalCaptionsHandler'); /** * Index that specifies the last cue that is playing / played in the text track cue array. * @type {number} * @private */ - _externalCueIndex: number = 0; + private _externalCueIndex: number = 0; /** * the player object. * @type {Player} * @private */ - _player: Player; + private _player: Player; /** * event manager for the external caption handler * @type {EventManager} * @private */ - _eventManager: EventManager; + private _eventManager: EventManager; /** * a map that holds the current cues that are in process. process may be in download or that the cues are being parsed. * @type {Object} * @private */ - _textTrackModel: Object = {}; + private _textTrackModel: VTTCue = {} as VTTCue; /** * array of the active text cues of current track * @type {Array} * @private */ - _activeTextCues: Array = []; + private _activeTextCues: Array = []; /** * indicates if a current external (non native) track is active or not. * @type {boolean} * @private */ - _isTextTrackActive: boolean = false; + private _isTextTrackActive: boolean = false; /** * indicates the last player time in the last time update event. * @type {number} * @private */ - _lastTimeUpdate: number = 0; + private _lastTimeUpdate: number = 0; /** * constructor * @param {Player} player - the player object. */ - constructor(player: Player) { + constructor(player: any) { super(); this._player = player; this._eventManager = new EventManager(); @@ -95,7 +94,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @public */ - hideTextTrack(): void { + public hideTextTrack(): void { if (this._player.config.text.useNativeTextTrack) { this._removeCueChangeListeners(); this._resetExternalNativeTextTrack(); @@ -115,7 +114,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @param {Array} tracks array with the player text tracks. * @public */ - getExternalTracks(tracks: Array): Array { + public getExternalTracks(tracks: Array): Array { const captions = this._player.sources.captions; if (!captions) { return []; @@ -146,7 +145,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @private */ - _maybeAddTrack(track: TextTrack, caption: PKExternalCaptionObject, playerTextTracks: Array, newTextTracks: Array): void { + public _maybeAddTrack(track: TextTrack, caption: PKExternalCaptionObject, playerTextTracks: Array, newTextTracks: Array): void { const sameLangTrack = playerTextTracks.find(textTrack => textTrack.available && Track.langComparer(caption.language, textTrack.language)); if (!sameLangTrack) { newTextTracks.push(track); @@ -162,7 +161,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {TextTrack} - new text track * @private */ - _createTextTrack(caption: PKExternalCaptionObject): TextTrack { + public _createTextTrack(caption: PKExternalCaptionObject): TextTrack { return new TextTrack({ active: !!caption.default, kind: TextTrack.KIND.SUBTITLES, @@ -178,7 +177,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @private */ - _updateTextTracksModel(caption: PKExternalCaptionObject): void { + public _updateTextTracksModel(caption: PKExternalCaptionObject): void { this._textTrackModel[caption.language] = { cuesStatus: CuesStatus.NOT_DOWNLOADED, cues: [], @@ -193,7 +192,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @public */ - selectTextTrack(textTrack: TextTrack): void { + public selectTextTrack(textTrack: TextTrack): void { if (this._textTrackModel[textTrack.language]) { if (this._textTrackModel[textTrack.language].cuesStatus === CuesStatus.DOWNLOADED) { this._selectTextTrack(textTrack); @@ -208,7 +207,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { } } - _selectTextTrack(textTrack: TextTrack) { + private _selectTextTrack(textTrack: TextTrack): void { this.hideTextTrack(); if (this._player.config.text.useNativeTextTrack) { this._addCuesToNativeTextTrack(this._textTrackModel[textTrack.language].cues); @@ -223,8 +222,8 @@ class ExternalCaptionsHandler extends FakeEventTarget { * set hasBeenReset to true for all the cues. * @returns {void} */ - resetAllCues(): void { - for (let textTrack in this._textTrackModel) { + public resetAllCues(): void { + for (const textTrack in this._textTrackModel) { this._textTrackModel[textTrack].cues.forEach(cue => { cue.hasBeenReset = true; }); @@ -236,13 +235,17 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @private */ - _addCueChangeListener(): void { - const videoElement: ?HTMLVideoElement = this._player.getVideoElement(); + private _addCueChangeListener(): void { + const videoElement: HTMLVideoElement | undefined = this._player.getVideoElement(); if (videoElement && videoElement.textTracks) { - let textTrackEl: TextTrack = Array.from(videoElement.textTracks).find( + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const textTrackEl: TextTrack | undefined = Array.from(videoElement.textTracks).find( track => TextTrack.isNativeTextTrack(track) && track.mode === TextTrack.MODE.SHOWING ); if (textTrackEl) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore this._eventManager.listen(textTrackEl, 'cuechange', (e: FakeEvent) => this._onCueChange(e)); } } @@ -253,8 +256,8 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @private */ - _removeCueChangeListeners(): void { - const videoElement: ?HTMLVideoElement = this._player.getVideoElement(); + private _removeCueChangeListeners(): void { + const videoElement: HTMLVideoElement | undefined = this._player.getVideoElement(); if (videoElement && videoElement.textTracks) { for (let i = 0; i < videoElement.textTracks.length; i++) { this._eventManager.unlisten(videoElement.textTracks[i], 'cuechange'); @@ -268,9 +271,9 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @private */ - _onCueChange(e: FakeEvent): void { - let activeCues: TextTrackCueList = e.currentTarget.activeCues; - let normalizedActiveCues = getActiveCues(activeCues); + private _onCueChange(e: FakeEvent): void { + const activeCues: TextTrackCueList = e.currentTarget.activeCues; + const normalizedActiveCues = getActiveCues(activeCues); this.dispatchEvent(new FakeEvent(CustomEventType.TEXT_CUE_CHANGED, {cues: normalizedActiveCues})); } @@ -278,9 +281,9 @@ class ExternalCaptionsHandler extends FakeEventTarget { * resets the handler * @returns {void} */ - reset(): void { + public reset(): void { this._resetCurrentTrack(); - this._textTrackModel = {}; + this._textTrackModel = {} as VTTCue; this._resetExternalNativeTextTrack(); this._eventManager.removeAll(); } @@ -290,8 +293,8 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @public * @returns {void} */ - destroy(): void { - this._textTrackModel = {}; + public destroy(): void { + this._textTrackModel = {} as VTTCue; this._eventManager.destroy(); this._activeTextCues = []; } @@ -301,7 +304,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @private */ - _resetCurrentTrack(): void { + private _resetCurrentTrack(): void { this._activeTextCues = []; this._isTextTrackActive = false; this._maybeSetExternalCueIndex(); @@ -313,7 +316,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {Promise} - resolves when the request returns and the caption string is parsed to cues. * @private */ - _getCuesString(textTrack: TextTrack): Promise<*> { + private _getCuesString(textTrack: TextTrack): Promise { return new Promise((resolve, reject) => { const track = this._textTrackModel[textTrack.language]; const captionType = track.type || this._getFileType(track.url); @@ -342,12 +345,12 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {Promise<*>} - parsed cues array * @private */ - _parseCues(vttStr: string): Promise<*> { + private _parseCues(vttStr: string): Promise { return new Promise((resolve, reject) => { const parser = new Parser(window, StringDecoder()); - const cues = []; - parser.oncue = cue => cues.push(cue); - parser.onflush = () => { + const cues: VTTCue[] = []; + parser.oncue = ((cue): void => {cues.push(cue)}); + parser.onflush = (): void => { ExternalCaptionsHandler._logger.debug('finished parsing external cues'); resolve(cues); }; @@ -363,7 +366,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {string} - a string in a .VTT format * @private */ - _convertSrtToVtt(str: string): string { + private _convertSrtToVtt(str: string): string { const vttStr = str.replace(/(\d\d:\d\d:\d\d),(\d\d\d) --> (\d\d:\d\d:\d\d),(\d\d\d)/g, (match, part1, part2, part3, part4) => { return `${part1}.${part2} --> ${part3}.${part4}`; }); @@ -378,7 +381,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {Promise} - a promise that the action ended * @private */ - _downloadAndParseCues(textTrack: TextTrack): Promise<*> { + private _downloadAndParseCues(textTrack: TextTrack): Promise { this._textTrackModel[textTrack.language].cuesStatus = CuesStatus.DOWNLOADING; return new Promise((resolve, reject) => { this._getCuesString(textTrack) @@ -397,8 +400,8 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {string} type of the file * @private */ - _getFileType(url: string): string { - return url.split(/[#?]/)[0].split('.').pop().trim(); + private _getFileType(url: string): string { + return url.split(/[#?]/)[0].split('.').pop()!.trim(); } /** @@ -408,7 +411,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @private */ - _handleCaptionOnTimeUpdate(track: TextTrack): void { + private _handleCaptionOnTimeUpdate(track: TextTrack): void { const currentTime = this._player.currentTime; if (currentTime) { let cueIndexUpdated = false; @@ -432,7 +435,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {boolean} if there was a seek before * @private */ - _hadSeeked(): boolean { + private _hadSeeked(): boolean { return !!this._player.currentTime && Math.abs(this._player.currentTime - this._lastTimeUpdate) > 1; } @@ -440,7 +443,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {boolean} if a cue/cues were removed from the active text cues array * @private */ - _maybeRemoveActiveCues(): boolean { + private _maybeRemoveActiveCues(): boolean { const currentTime = this._player.currentTime; if (!currentTime) { return false; @@ -458,7 +461,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {boolean} - if cues were added to the active text track * @private */ - _maybeAddToActiveCues(track: TextTrack): boolean { + private _maybeAddToActiveCues(track: TextTrack): boolean { const currentTime = this._player.currentTime; if (!currentTime) { return false; @@ -480,17 +483,17 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {boolean} if the index was changed * @private */ - _maybeSetExternalCueIndex(): boolean { - let textTrack = this._player._getTextTracks().find(track => track.active && track.external); + private _maybeSetExternalCueIndex(): boolean { + const textTrack = this._player._getTextTracks().find(track => track.active && track.external); if (textTrack && textTrack.external) { const cues = this._textTrackModel[textTrack.language] ? this._textTrackModel[textTrack.language].cues : []; let i = 0; for (; i < cues.length; i++) { // if there is a cue that should be displayed right now, cue start time < current time < cue end time - if (cues[i].startTime < this._player.currentTime && this._player.currentTime < cues[i].endTime) { + if (cues[i].startTime < this._player.currentTime! && this._player.currentTime! < cues[i].endTime) { break; // this is for the first cue that is after the current time - } else if (cues[i].endTime > this._player.currentTime && cues[i].startTime > this._player.currentTime) { + } else if (cues[i].endTime > this._player.currentTime! && cues[i].startTime > this._player.currentTime!) { break; } } @@ -504,12 +507,16 @@ class ExternalCaptionsHandler extends FakeEventTarget { * delete cues on reset to avoid usage of the text track on the next media * @return {void} */ - _resetExternalNativeTextTrack(): void { + private _resetExternalNativeTextTrack(): void { const videoElement = this._player.getVideoElement(); if (videoElement && videoElement.textTracks) { const track = Array.from(videoElement.textTracks).find(track => (track ? TextTrack.isExternalTrack(track) : false)); if (track) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore track.cues && Object.values(track.cues).forEach(cue => track.removeCue(cue)); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore track.mode = TextTrack.MODE.DISABLED; } } @@ -520,17 +527,23 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @param {Array} cues - the cues to be added * @return {void} */ - _addCuesToNativeTextTrack(cues: Array): void { + private _addCuesToNativeTextTrack(cues: Array): void { const videoElement = this._player.getVideoElement(); if (videoElement && videoElement.textTracks) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore const track: TextTrack = Array.from(videoElement.textTracks).find(track => (track ? TextTrack.isExternalTrack(track) : false)); if (track) { track.mode = TextTrack.MODE.SHOWING; // For IE 11 which is not support VTTCue API - if (window.VTTCue === undefined) { - let convertedCues: Array = this._convertCues(cues); + if (VTTCue === undefined) { + const convertedCues: Array = this._convertCues(cues); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore convertedCues.forEach(cue => track.addCue(cue)); } else { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore cues.forEach(cue => track.addCue(cue)); } } @@ -543,8 +556,10 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @param {Array} cues - the cues to be converted * @returns {Array} the converted cues */ - _convertCues(cues: Array): Array { - return cues.map(cue => new window.TextTrackCue(cue.startTime, cue.endTime, cue.text)); + private _convertCues(cues: Array): Array { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return cues.map(cue => new TextTrackCue(cue.startTime, cue.endTime, cue.text)); } /** @@ -552,7 +567,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * (when adding a text track with existing language to the video element it will remove all its cues) * @returns {void} */ - _addNativeTextTrack(): void { + private _addNativeTextTrack(): void { const videoElement = this._player.getVideoElement(); if (videoElement && videoElement.textTracks) { const sameLanguageTrackIndex = Array.from(videoElement.textTracks).findIndex(track => (track ? TextTrack.isExternalTrack(track) : false)); @@ -570,7 +585,7 @@ class ExternalCaptionsHandler extends FakeEventTarget { * @returns {void} * @private */ - _setTextTrack(textTrack: TextTrack): void { + private _setTextTrack(textTrack: TextTrack): void { if (!this._player.config.text.useNativeTextTrack) { this._isTextTrackActive = true; ExternalCaptionsHandler._logger.debug('External text track changed', textTrack); diff --git a/src/track/image-track.js b/src/track/image-track.ts similarity index 63% rename from src/track/image-track.js rename to src/track/image-track.ts index 2ed41b223..c08710722 100644 --- a/src/track/image-track.js +++ b/src/track/image-track.ts @@ -1,14 +1,14 @@ //@flow import Track from './track'; -const ImageTrack: ImageTrack = class ImageTrack extends Track { - _url: string; - _width: number; - _height: number; - _duration: number; - _rows: number; - _cols: number; - _customData: any; +class ImageTrack extends Track { + private _url: string; + private _width: number; + private _height: number; + private _duration: number; + private _rows: number; + private _cols: number; + private _customData: any; constructor(settings: { id: string, @@ -33,41 +33,41 @@ const ImageTrack: ImageTrack = class ImageTrack extends Track { this._cols = cols || 1; } - get url() { + public get url(): string { return this._url; } - get width() { + public get width(): number { return this._width; } - get height() { + public get height(): number { return this._height; } - get duration() { + public get duration(): number { return this._duration; } - get rows() { + public get rows(): number { return this._rows; } - get cols() { + public get cols(): number { return this._cols; } - get customData() { + public get customData(): any { return this._customData; } - get sliceWidth() { + public get sliceWidth(): number { return this._width / this._cols; } - get sliceHeight() { + public get sliceHeight(): number { return this._height / this._rows; } -}; +} export default ImageTrack; diff --git a/src/track/label-options.js b/src/track/label-options.ts similarity index 92% rename from src/track/label-options.js rename to src/track/label-options.ts index 580070c68..71a595da4 100644 --- a/src/track/label-options.js +++ b/src/track/label-options.ts @@ -1,5 +1,3 @@ -// @flow - const LabelOptions = { AUDIO: 'audio', CAPTIONS: 'captions', diff --git a/src/track/text-style.js b/src/track/text-style.ts similarity index 79% rename from src/track/text-style.js rename to src/track/text-style.ts index ded5ae890..b67a30ac3 100644 --- a/src/track/text-style.js +++ b/src/track/text-style.ts @@ -1,4 +1,3 @@ -// @flow /** * We use this number to calculate the scale of the text. so it will be : 1 + 0.25 * FontSizes.value * So, if the user selects 400% the scale would be: 1 + 0.25 * 4 = 2. so the font size should be multiplied by 2. @@ -7,6 +6,8 @@ * font size. * @type {number} */ +import {FontScaleOptions, FontSizeOptions, PKTextStyleObject} from '../types'; + const IMPLICIT_SCALE_PERCENTAGE: number = 0.25; /** @@ -27,7 +28,7 @@ class TextStyle { * @enum {Object.}} * @export */ - static FontFamily: {[string]: string} = { + public static FontFamily: {[font: string]: string} = { ARIAL: 'Arial', HELVETICA: 'Helvetica', VERDANA: 'Verdana', @@ -40,7 +41,7 @@ class TextStyle { * @enum {Object.}} * @export */ - static StandardColors: {[string]: [number, number, number]} = { + public static StandardColors: {[coloer: string]: [number, number, number]} = { WHITE: [255, 255, 255], BLACK: [0, 0, 0], RED: [255, 0, 0], @@ -56,7 +57,7 @@ class TextStyle { * @enum {Object.}} * @export */ - static StandardOpacities: {[string]: number} = { + public static StandardOpacities: {[opacityLevel: string]: number} = { OPAQUE: 1, SEMI_HIGH: 0.75, SEMI_LOW: 0.25, @@ -73,7 +74,7 @@ class TextStyle { * @enum {!Array.} * @export */ - static EdgeStyles: {[string]: Array<[number, number, number, number, number, number]>} = { + public static EdgeStyles: {[edgeStyle:string]: Array<[number, number, number, number, number, number]>} = { NONE: [], RAISED: [ [34, 34, 34, 1, 1, 0], @@ -102,7 +103,7 @@ class TextStyle { /** * Possible font sizes are 50%, 75%, 100%, 200%, 300%, 400% */ - static FontSizes: Array = [ + public static FontSizes: { label: FontSizeOptions; value: FontScaleOptions }[] = [ { value: -2, label: '50%' @@ -136,16 +137,16 @@ class TextStyle { * @return {string} - CSS rgba string * @private */ - static toRGBA(color: [number, number, number], opacity: number): string { + public static toRGBA(color: [number, number, number], opacity: number): string { // shaka.asserts.assert(color.length == 3); return 'rgba(' + color.concat(opacity).join(',') + ')'; } - static fromJson(setting: PKTextStyleObject): TextStyle { + public static fromJson(setting: PKTextStyleObject): TextStyle { const getValue = (newValue: any, defaultValue: any): any => { return typeof newValue !== 'undefined' && newValue !== null ? newValue : defaultValue; }; - let textStyle = new TextStyle(); + const textStyle = new TextStyle(); textStyle.fontEdge = getValue(setting.fontEdge, textStyle.fontEdge); textStyle.fontSize = getValue(setting.fontSize, textStyle.fontSize); textStyle.fontScale = getValue(setting.fontScale, textStyle.fontScale); @@ -157,7 +158,7 @@ class TextStyle { return textStyle; } - static toJson(text: TextStyle): PKTextStyleObject { + public static toJson(text: TextStyle): PKTextStyleObject { return { fontEdge: text.fontEdge, fontSize: text.fontSize, @@ -170,9 +171,9 @@ class TextStyle { }; } - _fontSizeIndex: number = 2; // 100% + private _fontSizeIndex: number = 2; // 100% - set fontSize(fontSize: string) { + public set fontSize(fontSize: string) { const index = TextStyle.FontSizes.findIndex(({label}) => label === fontSize); if (index !== -1) { this._fontSizeIndex = index; @@ -182,11 +183,11 @@ class TextStyle { /** * Percentage string matching a FontSizes entry */ - get fontSize() { + public get fontSize(): FontSizeOptions { return TextStyle.FontSizes[this._fontSizeIndex].label; } - set fontScale(fontScale: number) { + public set fontScale(fontScale: number) { const index = TextStyle.FontSizes.findIndex(({value}) => value === fontScale); if (index !== -1) { this._fontSizeIndex = index; @@ -196,50 +197,50 @@ class TextStyle { /** * Numeric value matching a FontSizes entry (for backward compatibility) */ - get fontScale() { + public get fontScale(): FontScaleOptions { return TextStyle.FontSizes[this._fontSizeIndex].value; } /** * @type {TextStyle.FontFamily} */ - fontFamily: string = TextStyle.FontFamily.SANS_SERIF; + public fontFamily: string = TextStyle.FontFamily.SANS_SERIF; /** * @type {TextStyle.StandardColors} */ - fontColor: [number, number, number] = TextStyle.StandardColors.WHITE; + public fontColor: [number, number, number] = TextStyle.StandardColors.WHITE; /** * @type {TextStyle.StandardOpacities} * @expose */ - fontOpacity: number = TextStyle.StandardOpacities.OPAQUE; + public fontOpacity: number = TextStyle.StandardOpacities.OPAQUE; /** * @type {TextStyle.StandardColors} */ - backgroundColor: [number, number, number] = TextStyle.StandardColors.BLACK; + public backgroundColor: [number, number, number] = TextStyle.StandardColors.BLACK; /** * @type {TextStyle.StandardOpacities} */ - backgroundOpacity: number = TextStyle.StandardOpacities.OPAQUE; + public backgroundOpacity: number = TextStyle.StandardOpacities.OPAQUE; /** * @type {TextStyle.EdgeStyles} * @expose */ - fontEdge: Array<[number, number, number, number, number, number]> = TextStyle.EdgeStyles.NONE; + public fontEdge: Array<[number, number, number, number, number, number]> = TextStyle.EdgeStyles.NONE; - getTextShadow(): string { + public getTextShadow(): string { // A given edge effect may be implemented with multiple shadows. // Collect them all into an array, then combine into one attribute. - let shadows: Array = []; + const shadows: Array = []; for (let i = 0; i < this.fontEdge.length; i++) { // shaka.asserts.assert(this.fontEdge[i].length == 6); - const color: [number, number, number] = (this.fontEdge[i].slice(0, 3): any); - let shadow: Array = this.fontEdge[i].slice(3, 6); + const color: [number, number, number] = (this.fontEdge[i].slice(0, 3) as any); + const shadow: Array = this.fontEdge[i].slice(3, 6); shadows.push(TextStyle.toRGBA(color, this.fontOpacity) + ' ' + shadow.join('px ') + 'px'); } return shadows.join(','); @@ -251,8 +252,8 @@ class TextStyle { * * @return {string} - ::CUE CSS string */ - toCSS(): string { - let attributes: Array = []; + public toCSS(): string { + const attributes: Array = []; attributes.push('font-family: ' + this.fontFamily); attributes.push('color: ' + TextStyle.toRGBA(this.fontColor, this.fontOpacity)); attributes.push('background-color: ' + TextStyle.toRGBA(this.backgroundColor, this.backgroundOpacity)); @@ -264,7 +265,7 @@ class TextStyle { * clones the textStyle object * @returns {TextStyle} the cloned textStyle object */ - clone(): TextStyle { + public clone(): TextStyle { return TextStyle.fromJson(TextStyle.toJson(this)); } @@ -273,11 +274,11 @@ class TextStyle { * @param {TextStyle} textStyle - The textStyle to compare with. * @returns {boolean} - Whether the text styles are equal. */ - isEqual(textStyle: TextStyle): boolean { + public isEqual(textStyle: TextStyle): boolean { return JSON.stringify(TextStyle.toJson(this)) === JSON.stringify(TextStyle.toJson(textStyle)); } - get implicitFontScale(): number { + public get implicitFontScale(): number { const fontSizeValue = TextStyle.FontSizes[this._fontSizeIndex].value; return IMPLICIT_SCALE_PERCENTAGE * fontSizeValue + 1; } diff --git a/src/track/text-track-display.js b/src/track/text-track-display.ts similarity index 99% rename from src/track/text-track-display.js rename to src/track/text-track-display.ts index 69d3f901e..2c97483e0 100644 --- a/src/track/text-track-display.js +++ b/src/track/text-track-display.ts @@ -1,4 +1,5 @@ -import {Cue} from './vtt-cue'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-nocheck import {Region} from './vtt-region'; import TextStyle from './text-style'; import TextTrack from './text-track'; @@ -723,7 +724,8 @@ class BoxPosition { width = obj.div.offsetWidth; top = obj.div.offsetTop; - let rects = (rects = obj.div.childNodes) && (rects = rects[0]) && rects.getClientRects && rects.getClientRects(); + let rects; + rects = (rects = obj.div.childNodes) && (rects = rects[0]) && rects.getClientRects && rects.getClientRects(); obj = obj.div.getBoundingClientRect(); // In certain cases the outter div will be slightly larger then the sum of // the inner div's lines. This could be due to bold text, etc, on some platforms. @@ -1297,7 +1299,7 @@ Parser.prototype = { if (!line) { continue; } - self.cue = new Cue(0, 0, ''); + self.cue = new VTTCue(0, 0, ''); self.state = 'CUE'; // 30-39 - Check if self line contains an optional identifier or timing data. if (line.indexOf('-->') === -1) { diff --git a/src/track/text-track.js b/src/track/text-track.js deleted file mode 100644 index cb678029e..000000000 --- a/src/track/text-track.js +++ /dev/null @@ -1,156 +0,0 @@ -//@flow -import Track from './track'; -import {Cue} from './vtt-cue'; -import Error from '../error/error'; - -/** - * Text track representation of the player. - * @classdesc - */ -const TextTrack: TextTrack = class TextTrack extends Track { - MODE: {[mode: string]: string}; - KIND: {[kind: string]: string}; - EXTERNAL_TRACK_ID: string; - - isMetaDataTrack: Function; - isNativeTextTrack: Function; - isExternalTrack: Function; - - /** - * use as a uniq identifier of the track. - * @static - * @type {number} - * @private - */ - static _tracksCount: number = 0; - /** - * index generator. - * @returns {number} - the next track index. - */ - static _generateIndex(): number { - return TextTrack._tracksCount++; - } - /** - * reset the track count. - * @returns {void} - */ - static reset(): void { - TextTrack._tracksCount = 0; - } - - /** - * The kind of the text track: - * subtitles/captions/metadata. - * @member - * @type {string} - * @private - */ - _kind: string; - /** - * flag to know if it's external or not - * @member - * @type {boolean} - * @private - */ - _external: boolean; - /** - * flag to know if it's default or not - * @member - * @type {boolean} - * @private - */ - _default: boolean; - - /** - * Getter for the kind of the text track. - * @public - * @returns {string} - The kind of the text track. - */ - get kind(): string { - return this._kind; - } - - /** - * Getter for the external of the text track. - * @public - * @returns {boolean} - Whether the text track is external. - */ - get external(): boolean { - return this._external; - } - - /** - * Getter for the default of the text track. - * @public - * @returns {boolean} - Whether the text track is default. - */ - get default(): boolean { - return this._default; - } - - /** - * @constructor - * @param {Object} settings - The track settings object. - */ - constructor(settings: Object = {}) { - super(settings); - // use language tag if no display label is available - this._label = this.label || this.language; - this._kind = settings.kind; - this._external = settings.external; - this._index = TextTrack._generateIndex(); - this._default = settings.default || false; - } -}; - -TextTrack.MODE = { - DISABLED: 'disabled', - SHOWING: 'showing', - HIDDEN: 'hidden' -}; - -TextTrack.KIND = { - METADATA: 'metadata', - SUBTITLES: 'subtitles', - CAPTIONS: 'captions' -}; - -TextTrack.EXTERNAL_TRACK_ID = 'playkit-external-track'; - -TextTrack.isMetaDataTrack = (track: any) => { - return track && track.kind === TextTrack.KIND.METADATA; -}; - -TextTrack.isNativeTextTrack = (track: any) => { - return track && [TextTrack.KIND.SUBTITLES, TextTrack.KIND.CAPTIONS].includes(track.kind); -}; - -TextTrack.isExternalTrack = (track: any) => { - return track && [track.language, track.label].includes(TextTrack.EXTERNAL_TRACK_ID); -}; - -/** - * Normalize cues to be of type of VTT model. - * @param {TextTrackCueList} textTrackCueList - The text track cue list contains the cues. - * @returns {void} - * @private - */ -function getActiveCues(textTrackCueList: TextTrackCueList): Array { - let normalizedCues: Array = []; - for (let cue of textTrackCueList) { - //Normalize cues to be of type of VTT model - if ((window.VTTCue && cue instanceof window.VTTCue) || (window.DataCue && cue instanceof window.DataCue)) { - normalizedCues.push(cue); - } else if (window.TextTrackCue && cue instanceof window.TextTrackCue) { - try { - normalizedCues.push(new Cue(cue.startTime, cue.endTime, cue.text)); - } catch (error) { - new Error(Error.Severity.RECOVERABLE, Error.Category.TEXT, Error.Code.UNABLE_TO_CREATE_TEXT_CUE, error); - } - } - } - return normalizedCues; -} - -export default TextTrack; -export {getActiveCues}; diff --git a/src/track/text-track.ts b/src/track/text-track.ts new file mode 100644 index 000000000..65ed1e2f2 --- /dev/null +++ b/src/track/text-track.ts @@ -0,0 +1,113 @@ +import Track from './track'; +import Error from '../error/error'; + +type TrackSettings = { + kind?: string; + external?: boolean; + default?: boolean; + active?: boolean; + label?: string; + language?: string; +}; + +export default class TextTrack extends Track { + public static MODE: Record<'DISABLED' | 'SHOWING' | 'HIDDEN', TextTrackMode> = { + DISABLED: 'disabled', + SHOWING: 'showing', + HIDDEN: 'hidden' + }; + + public static KIND: Record<'METADATA' | 'SUBTITLES' | 'CAPTIONS', TextTrackKind> = { + METADATA: 'metadata', + SUBTITLES: 'subtitles', + CAPTIONS: 'captions' + }; + + public static EXTERNAL_TRACK_ID = 'playkit-external-track'; + private static _tracksCount: number = 0; + + private _kind: string; + private _external: boolean; + private _default: boolean; + private _mode: string | undefined; + + constructor(settings: TrackSettings = {}) { + super(settings); + // use language tag if no display label is available + this._label = this.label || this.language; + this._kind = settings.kind!; + this._external = settings.external!; + this._index = TextTrack._generateIndex(); + this._default = settings.default || false; + } + + public static _generateIndex(): number { + return TextTrack._tracksCount++; + } + + public static reset(): void { + TextTrack._tracksCount = 0; + } + + public get mode(): string | undefined { + return this._mode; + } + public set mode(mode: string) { + this._mode = mode; + } + + public get kind(): string { + return this._kind; + } + + public get external(): boolean { + return this._external; + } + + public get default(): boolean { + return this._default; + } + + public static isMetaDataTrack(track: any): boolean { + return track && track.kind === TextTrack.KIND.METADATA; + } + + public static isNativeTextTrack(track: any): boolean { + return track && [TextTrack.KIND.SUBTITLES, TextTrack.KIND.CAPTIONS].includes(track.kind); + } + + public static isExternalTrack(track: any): boolean { + return track && [track.language, track.label].includes(TextTrack.EXTERNAL_TRACK_ID); + } +} + +/** + * Normalize cues to be of type of VTT model. + * @param {TextTrackCueList} textTrackCueList - The text track cue list contains the cues. + * @returns {void} + * @private + */ +function getActiveCues(textTrackCueList: TextTrackCueList): Array { + const normalizedCues: Array = []; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + for (const cue of textTrackCueList) { + //Normalize cues to be of type of VTT model + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + if ((VTTCue && cue instanceof VTTCue) || (DataCue && cue instanceof window.DataCue)) { + normalizedCues.push(cue); + } else if (TextTrackCue && cue instanceof TextTrackCue) { + try { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + normalizedCues.push(new VTTCue(cue.startTime, cue.endTime, cue.text)); + } catch (error) { + new Error(Error.Severity.RECOVERABLE, Error.Category.TEXT, Error.Code.UNABLE_TO_CREATE_TEXT_CUE, error); + } + } + } + return normalizedCues; +} + +export {getActiveCues , TextTrack as PKTextTrack}; diff --git a/src/track/timed-metadata.js b/src/track/timed-metadata.ts similarity index 72% rename from src/track/timed-metadata.js rename to src/track/timed-metadata.ts index 66eba1b8a..c272d2df4 100644 --- a/src/track/timed-metadata.js +++ b/src/track/timed-metadata.ts @@ -1,12 +1,13 @@ -//@flow +import {PKTextTrackCue} from '../types'; + class TimedMetadata { - static TYPE: {[type: string]: string}; + public static TYPE: {[type: string]: string}; - startTime: number; - endTime: number; - id: string; - type: string; - metadata: string | Object; + public startTime: number; + public endTime: number; + public id: string; + public type: string; + public metadata: string | any; /** * @constructor * @param {number} startTime - start time. @@ -37,20 +38,14 @@ TimedMetadata.TYPE = { * @returns {TextTrackCue} - the created text track cue * @private */ -function createTextTrackCue(timedMetadata: TimedMetadata): ?TextTrackCue { +function createTextTrackCue(timedMetadata: TimedMetadata): PKTextTrackCue | null { try { const {startTime, endTime, id, type, metadata} = timedMetadata; - let cue = {}; - if (window.VTTCue) { - cue = new window.VTTCue(startTime, endTime, ''); - } else if (window.TextTrackCue) { - // IE11 support - cue = new window.TextTrackCue(startTime, endTime, ''); - } + const cue = new VTTCue(startTime, endTime, ''); const cueValue = {key: type, data: metadata}; cue.id = id; - cue.value = cueValue; - return cue; + cue['value'] = cueValue; + return cue as unknown as PKTextTrackCue; } catch (e) { return null; } @@ -62,11 +57,13 @@ function createTextTrackCue(timedMetadata: TimedMetadata): ?TextTrackCue { * @returns {?TimedMetadata} - the created timed metadata object. * @private */ -function createTimedMetadata(cue: TextTrackCue): ?TimedMetadata { +function createTimedMetadata(cue: TextTrackCue): TimedMetadata | null { if (cue) { const {startTime, endTime, id} = cue; const typeAndMetadata = _getTypeAndMetadata(cue); if (typeAndMetadata) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore const {type, metadata} = _getTypeAndMetadata(cue); return new TimedMetadata(startTime, endTime, id, type, metadata); } @@ -79,10 +76,10 @@ function createTimedMetadata(cue: TextTrackCue): ?TimedMetadata { * @return {Object} - type and data * @private */ -function _getTypeAndMetadata(cue: TextTrackCue): Object { +function _getTypeAndMetadata(cue: TextTrackCue | PKTextTrackCue): { metadata: any; type: string } | null { if (cue) { - const {type, value, track} = cue; - if (value) { + if ('value' in cue && cue.value) { + const {type, value, track} = cue; const {key, data} = value; const isId3 = type === 'org.id3' || (track && track.label) === 'id3'; let timedMetadataType = Object.values(TimedMetadata.TYPE).find(type => type === key); diff --git a/src/track/track-type.js b/src/track/track-type.js deleted file mode 100644 index 46f7beb85..000000000 --- a/src/track/track-type.js +++ /dev/null @@ -1,9 +0,0 @@ -//@flow -const TrackType = Object.freeze({ - VIDEO: 'video', - AUDIO: 'audio', - TEXT: 'text', - IMAGE: 'image' -}); - -export {TrackType}; diff --git a/src/track/track-type.ts b/src/track/track-type.ts new file mode 100644 index 000000000..1782b3ae0 --- /dev/null +++ b/src/track/track-type.ts @@ -0,0 +1,8 @@ +export const TrackType = { + VIDEO: 'video', + AUDIO: 'audio', + TEXT: 'text', + IMAGE: 'image' +} as const; + +export type TrackTypes = 'video' | 'audio' | 'text' | 'image' diff --git a/src/track/track.js b/src/track/track.ts similarity index 82% rename from src/track/track.js rename to src/track/track.ts index 26c34508d..7247eeca7 100644 --- a/src/track/track.js +++ b/src/track/track.ts @@ -1,5 +1,3 @@ -//@flow - /** * General track representation of the player. * @classdesc @@ -13,7 +11,7 @@ export default class Track { * @param {boolean} equal - Optional flag to check for matching languages. * @returns {boolean} - Whether the strings are equal or starts with the same substring. */ - static langComparer(inputLang: string, trackLang: string, additionalLanguage: ?string, equal: ?boolean): boolean { + public static langComparer(inputLang: string, trackLang: string, additionalLanguage?: string, equal?: boolean): boolean { try { inputLang = inputLang.toLowerCase(); trackLang = trackLang.toLowerCase(); @@ -32,8 +30,8 @@ export default class Track { } } - static clone(track: any): T { - return (Object.assign(Object.create(Object.getPrototypeOf(track)), track): T); + public static clone(track: any): T { + return (Object.assign(Object.create(Object.getPrototypeOf(track)), track) as T); } /** @@ -42,56 +40,56 @@ export default class Track { * @type {string} * @private */ - _id: ?string; + private _id: number; /** * The active mode of the track. * @member * @type {boolean} * @private */ - _active: boolean; + private _active: boolean; /** * The label of the track. * @member * @type {string} * @private */ - _label: ?string; + protected _label: string | undefined; /** * The language of the track. * @member * @type {string} * @private */ - _language: string; + private _language: string; /** * The index of the track. * @member * @type {number} * @private */ - _index: number; + protected _index: number; /** * Indicator if track available or not. * @member * @type {boolean} * @private */ - _available: boolean; + private _available: boolean; /** * The clone function reference. * @member * @type {Function} * @public */ - clone: Function; + public clone: (...args: any[]) => any; /** * Getter for the track id. * @public * @returns {?string} - The track id. */ - get id(): ?string { + public get id(): number { return this._id; } @@ -100,7 +98,7 @@ export default class Track { * @public * @returns {boolean} - The active mode of the track. */ - get active(): boolean { + public get active(): boolean { return this._active; } @@ -109,7 +107,7 @@ export default class Track { * @public * @param {boolean} value - Whether the track is active or not. */ - set active(value: boolean) { + public set active(value: boolean) { this._active = value; } @@ -118,7 +116,7 @@ export default class Track { * @public * @returns {string} - The label of the track. */ - get label(): ?string { + public get label(): string | undefined { return this._label; } @@ -127,7 +125,7 @@ export default class Track { * @public * @returns {string} - The language of the track. */ - get language(): string { + public get language(): string { return this._language; } @@ -136,7 +134,7 @@ export default class Track { * @public * @returns {number} - The index of the track. */ - get index(): number { + public get index(): number { return this._index; } @@ -145,7 +143,7 @@ export default class Track { * @public * @returns {boolean} - The indicator if track available or not. */ - get available(): boolean { + public get available(): boolean { return this._available; } @@ -155,7 +153,7 @@ export default class Track { * @param {number} value - The index of the track. * @returns {void} */ - set index(value: number): void { + public set index(value: number) { this._index = value; } @@ -164,7 +162,7 @@ export default class Track { * @public * @param {string} value - The label of the track. */ - set label(value: string) { + public set label(value: string) { this._label = value; } @@ -173,7 +171,7 @@ export default class Track { * @public * @param {boolean} isAvailable - The indicator if track available or not */ - set available(isAvailable: boolean) { + public set available(isAvailable: boolean) { this._available = isAvailable; } @@ -181,7 +179,7 @@ export default class Track { * @constructor * @param {Object} settings - The track settings object. */ - constructor(settings: Object = {}) { + constructor(settings: any = {}) { this._id = settings.id; this._active = settings.active; this._label = settings.label; diff --git a/src/track/video-track.js b/src/track/video-track.ts similarity index 80% rename from src/track/video-track.js rename to src/track/video-track.ts index 25d3ad60d..9325eb08c 100644 --- a/src/track/video-track.js +++ b/src/track/video-track.ts @@ -5,33 +5,33 @@ import Track from './track'; * Video track representation of the player. * @classdesc */ -const VideoTrack: VideoTrack = class VideoTrack extends Track { +export default class VideoTrack extends Track { /** * @member {number} _bandwidth - The bandwidth of the video track * @type {number} * @private */ - _bandwidth: number; + private _bandwidth: number; /** * @member {number} _width - The width of the video track * @type {number} * @private */ - _width: number; + private _width: number; /** * @member {number} _height - The height of the video track * @type {number} * @private */ - _height: number; + private _height: number; /** * @public * @returns {number} - The bandwidth of the video track */ - get bandwidth(): number { + public get bandwidth(): number { return this._bandwidth; } @@ -39,7 +39,7 @@ const VideoTrack: VideoTrack = class VideoTrack extends Track { * @public * @returns {number} - The width of the video track */ - get width(): number { + public get width(): number { return this._width; } @@ -47,7 +47,7 @@ const VideoTrack: VideoTrack = class VideoTrack extends Track { * @public * @returns {number} - The height of the video track */ - get height(): number { + public get height(): number { return this._height; } @@ -55,13 +55,11 @@ const VideoTrack: VideoTrack = class VideoTrack extends Track { * @constructor * @param {Object} settings - The track settings object */ - constructor(settings: Object = {}) { + constructor(settings: any = {}) { super(settings); this._bandwidth = settings.bandwidth; this._width = settings.width; this._height = settings.height; this._label = settings.label ? settings.label : this._height ? this._height + 'p' : undefined; } -}; - -export default VideoTrack; +} diff --git a/src/track/vtt-cue.js b/src/track/vtt-cue.js deleted file mode 100644 index 2d47b454e..000000000 --- a/src/track/vtt-cue.js +++ /dev/null @@ -1,347 +0,0 @@ -//@flow -import {convertCueToDOMTree} from './text-track-display'; - -const autoKeyword: string = 'auto'; -const directionSetting: {[string]: boolean} = { - '': true, - lr: true, - rl: true -}; -const alignSetting: {[string]: boolean} = { - start: true, - center: true, - end: true, - left: true, - right: true -}; - -/** - * helper - * @param {string} value - the string to find - * @returns {string | boolean} - the aligned sting if found - */ -function findDirectionSetting(value): string | boolean { - if (typeof value !== 'string') { - return false; - } - const dir = directionSetting[value.toLowerCase()]; - return dir ? value.toLowerCase() : false; -} - -/** - * helper - * @param {string} value - the string - * @returns {string | boolean} - the aligned sting if found - */ -function findAlignSetting(value: string): string | boolean { - if (typeof value !== 'string') { - return false; - } - const align = alignSetting[value.toLowerCase()]; - return align ? value.toLowerCase() : false; -} - -/** - * VTTCue model - * @class - * @classdesc VTT Cue model to represent VTT cues internally - */ -class VTTCue { - /** - * // Lets us know when the VTTCue's data has changed in such a way that we need - * to recompute its display state. This lets us compute its display state lazily. - * @type {boolean} - */ - hasBeenReset: boolean = false; - - /** - * This is used as part of the rendering model, to keep cues in a consistent position. - * http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state - * @type {undefined} - */ - displayState: any = undefined; - /** - * VTTCue and TextTrackCue properties - * https://developer.mozilla.org/en-US/docs/Web/API/VTTCue#instance_properties - */ - /** - * An arbitrary string. - * @type {string} - * @private - */ - _id: string = ''; - /** - * A boolean indicating whether playback of the media resource is to pause when the end of the - * range to which the cue applies is reached. - * @type {boolean} - * @private - */ - _pauseOnExit: boolean = false; - /** - * The time, in seconds and fractions of a second, that describes the beginning of the range of - * the media data to which the cue applies. - * @type {number} - * @private - */ - _startTime: number; - /** - * The time, in seconds and fractions of a second, that describes the end of the range of - * the media data to which the cue applies. - * @type {number} - * @private - */ - _endTime: number; - /** - * The raw text of the cue, and rules for its interpretation, allowing the text to be - * rendered and converted to a DOM fragment. - * @type {string} - * @private - */ - _text: string; - /** - * An optional WebVTT region to which a cue belongs. - * By default, the region is set to null. - * @type {null} - * @private - */ - _region: ?string = null; - /** - * configures the cue to use vertical text layout rather than horizontal text layout. - * Vertical text layout is sometimes used in Japanese, for example. The default is horizontal layout - * @type {string} - * @private - */ - _vertical: string = ''; - /** - * A boolean indicating whether the line is an integer number of lines (using the line dimensions of - * the first line of the cue), or whether it is a percentage of the dimension of the video. - * The flag is set to true when lines are counted, and false otherwise. - * @type {boolean} - * @private - */ - _snapToLines: boolean = true; - /** - * The line defines positioning of the cue box. - * @type {string | number} - * @private - */ - _line: string | number = 'auto'; - /** - * An alignment for the cue box’s line, one of start/center/end alignment - * @type {string} - * @private - */ - _lineAlign: string = 'start'; - /** - * The position defines the indent of the cue box in the direction defined by the writing direction - * @type {number} - * @private - */ - _position: number = 50; - /** - * An alignment for the cue box in the dimension of the writing direction, describing what the position - * is anchored to - * @type {string} - * @private - */ - _positionAlign: string = 'center'; - /** - * A number giving the size of the cue box, to be interpreted as a percentage of the video, as defined - * by the writing direction. - * @type {number} - * @private - */ - _size: number = 50; - /** - * An alignment for all lines of text within the cue box, in the dimension of the writing direction - * @type {string} - * @private - */ - _align: string = 'center'; - - constructor(startTime: number, endTime: number, text: string) { - this._startTime = startTime; - this._endTime = endTime; - this._text = text; - /** - * Other spec defined properties - */ - } - - resetCue(): void { - this.hasBeenReset = true; - } - - get id(): string { - return this._id; - } - - set id(value: string) { - this._id = '' + value; - } - - get pauseOnExit(): boolean { - return this._pauseOnExit; - } - - set pauseOnExit(value: boolean) { - this._pauseOnExit = value; - } - - get startTime(): number { - return this._startTime; - } - - set startTime(value: number) { - if (typeof value !== 'number') { - throw new TypeError('Start time must be set to a number.'); - } - this._startTime = value; - this.resetCue(); - } - - get endTime(): number { - return this._endTime; - } - - set endTime(value: number) { - if (typeof value !== 'number') { - throw new TypeError('End time must be set to a number.'); - } - this._endTime = value; - this.resetCue(); - } - - get text(): string { - return this._text; - } - - set text(value: string) { - this._text = '' + value; - this.resetCue(); - } - - get region(): ?string { - return this._region; - } - - set region(value: string) { - this._region = value; - this.resetCue(); - } - - get vertical(): string { - return this._vertical; - } - - set vertical(value: string) { - const setting = findDirectionSetting(value); - // Have to check for false because the setting an be an empty string. - if (setting === false) { - throw new SyntaxError('An invalid or illegal string was specified.'); - } else if (typeof setting === 'string') { - this._vertical = setting; - this.resetCue(); - } - } - - get snapToLines(): boolean { - return this._snapToLines; - } - - set snapToLines(value: boolean) { - this._snapToLines = value; - this.resetCue(); - } - - get line(): string | number { - return this._line; - } - - set line(value: string | number) { - if (typeof value !== 'number' && value !== autoKeyword) { - throw new SyntaxError('An invalid number or illegal string was specified.'); - } - this._line = value; - this.resetCue(); - } - - get lineAlign(): string { - return this._lineAlign; - } - - set lineAlign(value: string) { - const setting = findAlignSetting(value); - if (!setting) { - throw new SyntaxError('An invalid or illegal string was specified.'); - } else if (typeof setting === 'string') { - this._lineAlign = setting; - this.resetCue(); - } - } - - get position(): number { - return this._position; - } - - set position(value: number) { - if (value < 0 || value > 100) { - throw new Error('Position must be between 0 and 100.'); - } - this._position = value; - this.resetCue(); - } - - get positionAlign(): string { - return this._positionAlign; - } - - set positionAlign(value: string) { - const setting = findAlignSetting(value); - if (!setting) { - throw new SyntaxError('An invalid or illegal string was specified.'); - } else if (typeof setting === 'string') { - this._positionAlign = setting; - this.resetCue(); - } - } - - get size(): number | boolean { - return this._size; - } - - set size(value: number): void { - if (value < 0 || value > 100) { - throw new Error('Size must be between 0 and 100.'); - } - this._size = value; - this.resetCue(); - } - - get align(): string { - return this._align; - } - - set align(value: string): void { - const setting = findAlignSetting(value); - if (!setting) { - throw new SyntaxError('An invalid or illegal string was specified.'); - } else if (typeof setting === 'string') { - this._align = (setting: string); - this.resetCue(); - } - } - - getCueAsHTML() { - return convertCueToDOMTree(window, this.text); - } -} - -let Cue; -if (typeof window !== 'undefined' && window.VTTCue) { - Cue = window.VTTCue; -} else { - Cue = VTTCue; -} - -export {Cue}; diff --git a/src/track/vtt-region.js b/src/track/vtt-region.ts similarity index 70% rename from src/track/vtt-region.js rename to src/track/vtt-region.ts index ca1dbd990..867f5b33a 100644 --- a/src/track/vtt-region.js +++ b/src/track/vtt-region.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -var scrollSetting = { +const scrollSetting = { '': true, up: true }; @@ -23,11 +23,11 @@ var scrollSetting = { * @param {string} value - a string * @returns {*} the settings */ -function findScrollSetting(value) { +function findScrollSetting(value): string | boolean { if (typeof value !== 'string') { return false; } - var scroll = scrollSetting[value.toLowerCase()]; + const scroll = scrollSetting[value.toLowerCase()]; return scroll ? value.toLowerCase() : false; } @@ -36,95 +36,95 @@ function findScrollSetting(value) { * @param {number} value - percentage * @returns {boolean} - boolean */ -function isValidPercentValue(value) { +function isValidPercentValue(value): boolean { return typeof value === 'number' && value >= 0 && value <= 100; } // VTTRegion shim http://dev.w3.org/html5/webvtt/#vttregion-interface class VTTRegion { - _width: number = 100; - _lines: number = 3; - _regionAnchorX: number = 0; - _regionAnchorY: number = 100; - _viewportAnchorX: number = 0; - _viewportAnchorY: number = 100; - _scroll: number = ''; + private _width: number = 100; + private _lines: number = 3; + private _regionAnchorX: number = 0; + private _regionAnchorY: number = 100; + private _viewportAnchorX: number = 0; + private _viewportAnchorY: number = 100; + private _scroll: string = ''; constructor() {} - get width(): number { + public get width(): number { return this._width; } - set width(value: number) { + public set width(value: number) { if (!isValidPercentValue(value)) { throw new Error('Width must be between 0 and 100.'); } this._width = value; } - get scroll(): number { + public get scroll(): string { return this._scroll; } - set scroll(value: number) { - var setting = findScrollSetting(value); + public set scroll(value: number) { + const setting = findScrollSetting(value); // Have to check for false as an empty string is a legal value. if (setting === false) { throw new SyntaxError('An invalid or illegal string was specified.'); } - this._scroll = setting; + this._scroll = setting as string; } - get viewportAnchorY(): number { + public get viewportAnchorY(): number { return this._viewportAnchorY; } - set viewportAnchorY(value: number) { + public set viewportAnchorY(value: number) { if (!isValidPercentValue(value)) { throw new Error('ViewportAnchorY must be between 0 and 100.'); } this._viewportAnchorY = value; } - get viewportAnchorX(): number { + public get viewportAnchorX(): number { return this._viewportAnchorX; } - set viewportAnchorX(value: number) { + public set viewportAnchorX(value: number) { if (!isValidPercentValue(value)) { throw new Error('ViewportAnchorX must be between 0 and 100.'); } this._viewportAnchorX = value; } - get regionAnchorX(): number { + public get regionAnchorX(): number { return this._regionAnchorX; } - set regionAnchorX(value: number) { + public set regionAnchorX(value: number) { if (!isValidPercentValue(value)) { throw new Error('RegionAnchorY must be between 0 and 100.'); } this._regionAnchorX = value; } - get lines(): number { + public get lines(): number { return this._lines; } - set lines(value: number) { + public set lines(value: number) { if (typeof value !== 'number') { throw new TypeError('Lines must be set to a number.'); } this._lines = value; } - get regionAnchorY(): number { + public get regionAnchorY(): number { return this._regionAnchorY; } - set regionAnchorY(value: number) { + public set regionAnchorY(value: number) { if (!isValidPercentValue(value)) { throw new Error('RegionAnchorX must be between 0 and 100.'); } diff --git a/src/types/abr-config.ts b/src/types/abr-config.ts new file mode 100644 index 000000000..bd5256de1 --- /dev/null +++ b/src/types/abr-config.ts @@ -0,0 +1,5 @@ +export type PKAbrConfigObject = { + fpsDroppedMonitoringThreshold: number, + fpsDroppedFramesInterval: number, + capLevelOnFPSDrop: boolean +}; diff --git a/src/types/ad-break-options.ts b/src/types/ad-break-options.ts new file mode 100644 index 000000000..7448fd1f5 --- /dev/null +++ b/src/types/ad-break-options.ts @@ -0,0 +1,5 @@ +export type PKAdBreakOptions = { + type?: string, + position?: number, + numAds?: number +}; diff --git a/src/types/ad-options.ts b/src/types/ad-options.ts new file mode 100644 index 000000000..03f413bcf --- /dev/null +++ b/src/types/ad-options.ts @@ -0,0 +1,22 @@ +export type PKAdOptions = { + system?: string, + url?: string, + contentType?: string, + title?: string, + position?: number, + duration?: number, + clickThroughUrl?: string, + posterUrl?: string, + skipOffset?: number, + linear: boolean, + width: number, + height: number, + bitrate: number, + bumper: boolean, + inStream?: boolean, + vpaid?: boolean, + streamId?: string, + wrapperAdIds: Array, + wrapperCreativeIds: Array, + wrapperAdSystems: Array +}; diff --git a/src/types/auto-play-types.ts b/src/types/auto-play-types.ts new file mode 100644 index 000000000..5475919a0 --- /dev/null +++ b/src/types/auto-play-types.ts @@ -0,0 +1 @@ +export type PKAutoPlayTypes = {[type: string]: string | boolean}; diff --git a/src/types/custom-labels-config.ts b/src/types/custom-labels-config.ts new file mode 100644 index 000000000..75575e618 --- /dev/null +++ b/src/types/custom-labels-config.ts @@ -0,0 +1,5 @@ +export type PKCustomLabelsConfigObject = { + audio: Function, + qualities: Function, + video: Function +}; diff --git a/src/types/deferred-promise.ts b/src/types/deferred-promise.ts new file mode 100644 index 000000000..3d874178e --- /dev/null +++ b/src/types/deferred-promise.ts @@ -0,0 +1,6 @@ +export type DeferredPromise = { + resolve: (value?: any | PromiseLike) => void; + reject: (reason?: any) => void; + catch: (param: () => any) => void; + then(param: () => void): any; +}; diff --git a/src/types/dimensions.ts b/src/types/dimensions.ts new file mode 100644 index 000000000..f2280f8fe --- /dev/null +++ b/src/types/dimensions.ts @@ -0,0 +1,10 @@ +export type PKPlayerDimensions = { + width: number, + height: number +}; + +export type PKDimensionsConfig = { + width: number, + height: number, + ratio?: string +}; diff --git a/src/types/drm-config.ts b/src/types/drm-config.ts new file mode 100644 index 000000000..c2f482b52 --- /dev/null +++ b/src/types/drm-config.ts @@ -0,0 +1,3 @@ +export type PKDrmConfigObject = { + keySystem: string +}; diff --git a/src/types/drm-data.ts b/src/types/drm-data.ts new file mode 100644 index 000000000..2abe27b01 --- /dev/null +++ b/src/types/drm-data.ts @@ -0,0 +1,5 @@ +export type PKDrmDataObject = { + licenseUrl: string, + scheme: string, + certificate?: string +}; diff --git a/src/types/engine-decorator-provider.ts b/src/types/engine-decorator-provider.ts new file mode 100644 index 000000000..b87595eb8 --- /dev/null +++ b/src/types/engine-decorator-provider.ts @@ -0,0 +1,8 @@ +import {IEngine} from './interfaces/engine'; +import {IEngineDecorator} from './interfaces/engine-decorator'; + + +export interface IEngineDecoratorProvider { + getEngineDecorator(engine: IEngine, dispatchEventHandler: Function): IEngineDecorator; + getName(): string; +} diff --git a/src/types/event-types.ts b/src/types/event-types.ts new file mode 100644 index 000000000..05d7b6bc0 --- /dev/null +++ b/src/types/event-types.ts @@ -0,0 +1,3 @@ +import { AdEventType, CustomEventType, Html5EventType } from "../playkit"; + +export type PKEventTypes = typeof Html5EventType & typeof CustomEventType & typeof AdEventType; diff --git a/src/types/exteranl-thumbnails-object.ts b/src/types/exteranl-thumbnails-object.ts new file mode 100644 index 000000000..a49387ae6 --- /dev/null +++ b/src/types/exteranl-thumbnails-object.ts @@ -0,0 +1,3 @@ +export type PKExternalThumbnailsConfig = { + vttUrl: string +}; diff --git a/src/types/external-caption-object.ts b/src/types/external-caption-object.ts new file mode 100644 index 000000000..72af362b3 --- /dev/null +++ b/src/types/external-caption-object.ts @@ -0,0 +1,7 @@ +export type PKExternalCaptionObject = { + url: string, + label: string, + language: string, + default?: boolean, + type?: string +}; diff --git a/src/types/global/globals.d.ts b/src/types/global/globals.d.ts new file mode 100644 index 000000000..8d05442f4 --- /dev/null +++ b/src/types/global/globals.d.ts @@ -0,0 +1,7 @@ +// globals.d.ts +declare class WebKitMediaKeys { + constructor(keySystem: string) + public readonly keySystem: string; + public static createSession(type: string, optional, initData: Uint8Array); + public static isTypeSupported(keySystem: string, type: string); +} diff --git a/src/types/image-player-options.ts b/src/types/image-player-options.ts new file mode 100644 index 000000000..70ed219e6 --- /dev/null +++ b/src/types/image-player-options.ts @@ -0,0 +1,3 @@ +export type ImageSourceOptions = { + thumbnailAPIParams: { [parmaName: string]: string } +}; diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 000000000..59cf1e1c5 --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,48 @@ +export * from './abr-config' +export * from './ad-break-options' +export * from './ad-options' +export * from './custom-labels-config' +export * from './deferred-promise' +export * from './dimensions' +export * from './drm-config' +export * from './drm-data' +export * from './engine-decorator-provider' +export * from './event-types' +export * from './exteranl-thumbnails-object' +export * from './image-player-options' +export * from './log-level' +export * from './media-source' +export * from './media-source-capabilities' +export * from './media-source-options' +export * from './metadata-config' +export * from './mime-types' +export * from './network-config' +export * from './play-options' +export * from './playback-config' +export * from './playback-options' +export * from './player-state' +export * from './prefer-native-config' +export * from './request' +export * from './request-types' +export * from './response' +export * from './restrictions-types' +export * from './screen-orientation-type' +export * from './session-config' +export * from './sources-config' +export * from './stream-types' +export * from './stats' +export * from './stream-priority' +export * from './stream-types' +export * from './streaming-config' +export * from './text-config' +export * from './text-style' +export * from './text-track-cue' +export * from './text-track-display-setting' +export * from './thumbnail-vtt-cue' +export * from './track-types' +export * from './video-dimensions' +export * from './video-element-store' +export * from './interfaces' +export * from '../track/track-type' +export * from './logger-levels'; +export * from 'js-logger'; \ No newline at end of file diff --git a/src/types/interfaces/drm-protocol.ts b/src/types/interfaces/drm-protocol.ts new file mode 100644 index 000000000..3843be8bd --- /dev/null +++ b/src/types/interfaces/drm-protocol.ts @@ -0,0 +1,8 @@ +import {PKDrmConfigObject} from '../drm-config'; +import {PKDrmDataObject} from '../drm-data'; + +export interface IDrmProtocol { + isConfigured(drmData: Array, drmConfig: PKDrmConfigObject): boolean; + canPlayDrm(drmData: Array): boolean; + setDrmPlayback(...any): void; +} diff --git a/src/types/interfaces/engine-capabilty.ts b/src/types/interfaces/engine-capabilty.ts new file mode 100644 index 000000000..649d4d650 --- /dev/null +++ b/src/types/interfaces/engine-capabilty.ts @@ -0,0 +1,7 @@ +export type CapabilityResult = {[capabilityName: string]: any}; + +export interface ICapability { + runCapability(): void; + getCapability(): Promise; + setCapabilities(capabilities: {[name: string]: any}): void; +} diff --git a/src/types/interfaces/engine-decorator.ts b/src/types/interfaces/engine-decorator.ts new file mode 100644 index 000000000..6569cae3d --- /dev/null +++ b/src/types/interfaces/engine-decorator.ts @@ -0,0 +1,65 @@ +import VideoTrack from '../../track/video-track'; +import AudioTrack from '../../track/audio-track'; +import TextTrack from '../../track/text-track'; +import { FakeEvent } from '../../event/fake-event'; +import {PKMediaSourceObject} from '../media-source'; + +export interface IEngineDecorator { + active: boolean; + dispatchEvent(event: FakeEvent): boolean; + restore?: (source: PKMediaSourceObject, config: any) => void; + reset?: () => void; + destroy?: () => void; + attach?: () => void; + detach?: () => void; + getVideoElement?: () => HTMLVideoElement; + selectVideoTrack?: (videoTrack: VideoTrack) => void; + selectAudioTrack?: (audioTrack: AudioTrack) => void; + selectTextTrack?: (textTrack: TextTrack) => void; + hideTextTrack?: () => void; + enableAdaptiveBitrate?: () => void; + isAdaptiveBitrateEnabled?: () => boolean; + seekToLiveEdge?: () => void; + getStartTimeOfDvrWindow?: () => number; + isLive?: () => boolean; + play?: () => void; + pause?: () => void; + load?: (startTime?: number) => Promise; + enterPictureInPicture?: () => void; + exitPictureInPicture?: () => void; + isPictureInPictureSupported?: () => boolean; + resetAllCues?: () => void; + attachMediaSource?: () => void; + detachMediaSource?: () => void; + id?: string; + src?: string; + currentTime?: number; + duration?: number; + volume?: number; + paused?: boolean; + seeking?: boolean; + seekable?: TimeRanges; + played?: TimeRanges; + buffered?: TimeRanges; + muted?: boolean; + defaultMuted?: boolean; + poster?: string; + preload?: string; + autoplay?: boolean; + loop?: boolean; + controls?: boolean; + playbackRates?: Array; + playbackRate?: number; + defaultPlaybackRate?: number; + ended?: boolean; + error?: MediaError; + networkState?: number; + readyState?: number; + videoHeight?: number; + videoWidth?: number; + playsinline?: boolean; + crossOrigin?: string; + isInPictureInPicture?: boolean; + targetBuffer?: number; + availableBuffer?: number; +} diff --git a/src/types/interfaces/engine.ts b/src/types/interfaces/engine.ts new file mode 100644 index 000000000..05cb6128b --- /dev/null +++ b/src/types/interfaces/engine.ts @@ -0,0 +1,89 @@ + +import VideoTrack from '../../track/video-track'; +import AudioTrack from '../../track/audio-track'; +import { FakeEventTarget } from '../../event/fake-event-target'; +import {ThumbnailInfo} from '../../thumbnail/thumbnail-info'; +import ImageTrack from '../../track/image-track'; +import {PKMediaSourceObject} from '../media-source'; +import {PKDrmConfigObject} from '../drm-config'; +import {PKDrmDataObject} from '../drm-data'; +import {PKABRRestrictionObject} from '../restrictions-types'; +import Track from '../../track/track'; +import {PKTextTrack} from '../../track/text-track'; + +export interface IEngineStatic { + id: string; + createEngine(source: PKMediaSourceObject, config: Object, playerId: string): IEngine; + canPlaySource(source: PKMediaSourceObject, preferNative: boolean, drmConfig: PKDrmConfigObject): boolean; + runCapabilities(): void; + getCapabilities(): Promise; + setCapabilities(capabilities: {[name: string]: any}): void; + prepareVideoElement(playerId: string): void; + isSupported(): boolean; +} + +export interface IEngine extends FakeEventTarget { + restore(source: PKMediaSourceObject, config: Object): void; + destroy(): void; + attach(): void; + detach(): void; + play(): Promise | undefined; + pause(): void; + load(startTime?: number): Promise<{tracks: Track[]}>; + reset(): void; + selectVideoTrack(videoTrack: VideoTrack): void; + selectAudioTrack(audioTrack: AudioTrack): void; + selectTextTrack(textTrack: PKTextTrack): void; + selectImageTrack(imageTrack: ImageTrack): void; + isPictureInPictureSupported(): boolean; + enterPictureInPicture(): void; + exitPictureInPicture(): void; + hideTextTrack(): void; + enableAdaptiveBitrate(): void; + isAdaptiveBitrateEnabled(): boolean; + applyABRRestriction(restrictions: PKABRRestrictionObject): void; + seekToLiveEdge(): void; + getStartTimeOfDvrWindow(): number; + isLive(): boolean; + getVideoElement(): HTMLVideoElement; + resetAllCues(): void; + attachMediaSource(): void; + detachMediaSource(): void; + getThumbnail(time: number): ThumbnailInfo | null + isOnLiveEdge(): boolean; + addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack | undefined ; + getNativeTextTracks(): TextTrack[]; + getDrmInfo(): PKDrmDataObject | null; + id: string; + currentTime: number; + duration: number; + liveDuration: number; + volume: number; + paused: boolean; + seeking: boolean; + played: TimeRanges; + buffered: TimeRanges; + videoHeight: number; + videoWidth: number; + muted: boolean; + defaultMuted: boolean; + src: string; + poster: string; + preload: "none" | "metadata" | "auto" | ""; + autoplay: boolean; + controls: boolean; + loop: boolean; + error: MediaError | null; + seekable: TimeRanges; + ended: boolean; + playbackRate: number; + playbackRates: Array; + defaultPlaybackRate: number; + isInPictureInPicture: boolean; + networkState: number; + readyState: number; + playsinline: boolean; + crossOrigin: string | null + targetBuffer: number; + availableBuffer: number; +} diff --git a/src/types/interfaces/index.ts b/src/types/interfaces/index.ts new file mode 100644 index 000000000..6b1543df9 --- /dev/null +++ b/src/types/interfaces/index.ts @@ -0,0 +1,6 @@ +// export * from './dom'; +export * from './drm-protocol'; +export * from './engine'; +export * from './engine-capabilty'; +export * from './engine-decorator'; +export * from './media-source-adapter'; \ No newline at end of file diff --git a/src/types/interfaces/media-source-adapter.ts b/src/types/interfaces/media-source-adapter.ts new file mode 100644 index 000000000..492b12932 --- /dev/null +++ b/src/types/interfaces/media-source-adapter.ts @@ -0,0 +1,51 @@ + +import VideoTrack from '../../track/video-track'; +import AudioTrack from '../../track/audio-track'; +import { PKTextTrack} from '../../track/text-track'; +import {PKDrmConfigObject} from '../drm-config'; +import {PKMediaSourceCapabilities} from '../media-source-capabilities'; +import {PKMediaSourceObject} from '../media-source'; +import ImageTrack from '../../track/image-track'; +import {PKDrmDataObject} from '../drm-data'; +import { FakeEventTarget } from '../../event/fake-event-target'; +import {ThumbnailInfo} from '../../thumbnail/thumbnail-info'; +import Track from '../../track/track'; +import {PKABRRestrictionObject} from '../restrictions-types'; + +export interface IMediaSourceAdapterStatic { + id: string; + isSupported(): boolean; + isMSESupported(): boolean; + canPlayType(mimeType: string): boolean; + canPlayDrm(drmData: Array, drmConfig: PKDrmConfigObject): boolean; + createAdapter(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: Object): IMediaSourceAdapter; +} + +export interface IMediaSourceAdapter extends FakeEventTarget { + src: string; + liveDuration: number; + capabilities: PKMediaSourceCapabilities; + targetBuffer: number; + load(startTime?: number): Promise<{tracks: Track[]}>; + handleMediaError(error?: MediaError): boolean; + destroy(): Promise; + selectVideoTrack(videoTrack: VideoTrack): void; + selectAudioTrack(audioTrack: AudioTrack): void; + selectTextTrack(textTrack: PKTextTrack): void; + selectImageTrack(imageTrack: ImageTrack): void; + hideTextTrack(): void; + enableAdaptiveBitrate(): void; + isAdaptiveBitrateEnabled(): boolean; + seekToLiveEdge(): void; + isLive(): boolean; + isOnLiveEdge(): boolean; + getStartTimeOfDvrWindow(): number; + setMaxBitrate(bitrate: number): void; + attachMediaSource(): void; + detachMediaSource(): void; + getSegmentDuration(): number; + disableNativeTextTracks(): void; + getThumbnail(time: number): ThumbnailInfo | null + getDrmInfo(): PKDrmDataObject | null; + applyABRRestriction(restriction: PKABRRestrictionObject): void; +} diff --git a/src/types/log-level.ts b/src/types/log-level.ts new file mode 100644 index 000000000..50def1081 --- /dev/null +++ b/src/types/log-level.ts @@ -0,0 +1,6 @@ +import {ILogHandler} from 'js-logger'; + +export type PKLogConfigObject = { + level: string, + handler?: ILogHandler +}; diff --git a/src/types/logger-levels.ts b/src/types/logger-levels.ts new file mode 100644 index 000000000..bdae0023f --- /dev/null +++ b/src/types/logger-levels.ts @@ -0,0 +1,3 @@ +import { ILogLevel } from "js-logger"; + +export type LoggerLevels = { TRACE: ILogLevel; TIME: ILogLevel; ERROR: ILogLevel; INFO: ILogLevel; DEBUG: ILogLevel; WARN: ILogLevel; OFF: ILogLevel } diff --git a/src/types/media-source-capabilities.ts b/src/types/media-source-capabilities.ts new file mode 100644 index 000000000..27c48c738 --- /dev/null +++ b/src/types/media-source-capabilities.ts @@ -0,0 +1,3 @@ +export type PKMediaSourceCapabilities = { + [fpsControl: string]: boolean +}; diff --git a/src/types/media-source-options.ts b/src/types/media-source-options.ts new file mode 100644 index 000000000..8550afcf8 --- /dev/null +++ b/src/types/media-source-options.ts @@ -0,0 +1,5 @@ +export type PKMediaSourceOptionsObject = { + forceRedirectExternalStreams: boolean, + redirectExternalStreamsHandler?: Function, + redirectExternalStreamsTimeout?: number +}; diff --git a/src/types/media-source.ts b/src/types/media-source.ts new file mode 100644 index 000000000..e5ff391f2 --- /dev/null +++ b/src/types/media-source.ts @@ -0,0 +1,11 @@ +import {PKDrmDataObject} from './drm-data'; + +export type PKMediaSourceObject = { + mimetype: string, + url: string, + id?: string, + bandwidth: number, + width: number, + height: number, + drmData?: Array +}; diff --git a/src/types/metadata-config.ts b/src/types/metadata-config.ts new file mode 100644 index 000000000..cc620d0a0 --- /dev/null +++ b/src/types/metadata-config.ts @@ -0,0 +1,9 @@ +export type PKMetadataConfigObject = { + name?: string, + description?: string, + mediaType?: string, + metas?: Object, + tags?: Object, + epgId?: string, + recordingId?: string +}; diff --git a/src/types/mime-types.ts b/src/types/mime-types.ts new file mode 100644 index 000000000..1e77087af --- /dev/null +++ b/src/types/mime-types.ts @@ -0,0 +1 @@ +export type PKMimeTypes = {[mime: string]: Array}; diff --git a/src/types/network-config.ts b/src/types/network-config.ts new file mode 100644 index 000000000..51993be42 --- /dev/null +++ b/src/types/network-config.ts @@ -0,0 +1,5 @@ +export type PKNetworkConfigObject = { + requestFilter?: Function, + responseFilter?: Function, + maxStaleLevelReloads: number +}; diff --git a/src/types/play-options.ts b/src/types/play-options.ts new file mode 100644 index 000000000..d01572b19 --- /dev/null +++ b/src/types/play-options.ts @@ -0,0 +1,3 @@ +export type PKPlayOptionsObject = { + programmatic: boolean +}; diff --git a/src/types/playback-config.ts b/src/types/playback-config.ts new file mode 100644 index 000000000..d210cd0b0 --- /dev/null +++ b/src/types/playback-config.ts @@ -0,0 +1,24 @@ +import {PKAutoPlayTypes} from './auto-play-types'; +import {PKStreamPriorityObject} from './stream-priority'; +import {PKPreferNativeConfigObject} from './prefer-native-config'; + +export type PKPlaybackConfigObject = { + audioLanguage: string, + textLanguage: string, + captionsDisplay: boolean, + additionalAudioLanguage: string, + additionalTextLanguage: string, + volume: number, + playsinline: boolean, + crossOrigin: string, + preload: string, + autoplay: PKAutoPlayTypes, + allowMutedAutoPlay: boolean, + muted: boolean, + pictureInPicture: boolean, + streamPriority: Array, + preferNative: PKPreferNativeConfigObject, + inBrowserFullscreen: boolean, + playAdsWithMSE: boolean, + screenLockOrientionMode: string +}; diff --git a/src/types/playback-options.ts b/src/types/playback-options.ts new file mode 100644 index 000000000..f653a136c --- /dev/null +++ b/src/types/playback-options.ts @@ -0,0 +1,6 @@ +export type PKPlaybackOptionsObject = { + html5: { + hls: any, + dash: any + } +}; diff --git a/src/types/player-options.ts b/src/types/player-options.ts new file mode 100644 index 000000000..f4179c68b --- /dev/null +++ b/src/types/player-options.ts @@ -0,0 +1,15 @@ +import {PKLogConfigObject} from './log-level'; +import {PKPlaybackConfigObject} from './playback-config'; +import {PKStreamingConfigObject} from './streaming-config'; +import {PKSessionConfigObject} from './session-config'; +import {PKNetworkConfigObject} from './network-config'; +import {PKCustomLabelsConfigObject} from './custom-labels-config'; + +export type PKPlayerOptionsObject = { + log?: PKLogConfigObject, + playback?: PKPlaybackConfigObject, + streaming?: PKStreamingConfigObject, + session?: PKSessionConfigObject, + network?: PKNetworkConfigObject, + customLabels?: PKCustomLabelsConfigObject +}; diff --git a/src/types/player-state.ts b/src/types/player-state.ts new file mode 100644 index 000000000..4759300f3 --- /dev/null +++ b/src/types/player-state.ts @@ -0,0 +1,14 @@ +import State from '../state/state'; + +export type Transition = { + [state: string]: { + [event: string]: Function + } +}; + +export type MaybeState = State | null; + +export type StateChanged = { + oldState: MaybeState, + newState: MaybeState +}; diff --git a/src/types/prefer-native-config.ts b/src/types/prefer-native-config.ts new file mode 100644 index 000000000..925670e93 --- /dev/null +++ b/src/types/prefer-native-config.ts @@ -0,0 +1,4 @@ +export type PKPreferNativeConfigObject = { + hls: boolean, + dash: boolean +}; diff --git a/src/types/request-types.ts b/src/types/request-types.ts new file mode 100644 index 000000000..06a5c09d0 --- /dev/null +++ b/src/types/request-types.ts @@ -0,0 +1 @@ +export type PKRequestType = {[request: string]: number}; diff --git a/src/types/request.ts b/src/types/request.ts new file mode 100644 index 000000000..1670faa11 --- /dev/null +++ b/src/types/request.ts @@ -0,0 +1,5 @@ +export type PKRequestObject = { + url: string, + body: ArrayBuffer | ArrayBufferView | string | null; + headers: {[header: string]: string} +}; diff --git a/src/types/response.ts b/src/types/response.ts new file mode 100644 index 000000000..47e68b290 --- /dev/null +++ b/src/types/response.ts @@ -0,0 +1,6 @@ +export type PKResponseObject = { + url: string, + originalUrl: string, + data: ArrayBuffer | ArrayBufferView; + headers: {[header: string]: string} +}; diff --git a/src/types/restrictions-types.ts b/src/types/restrictions-types.ts new file mode 100644 index 000000000..5797eb8b3 --- /dev/null +++ b/src/types/restrictions-types.ts @@ -0,0 +1,8 @@ +export type PKABRRestrictionObject = { + minHeight: number, + maxHeight: number, + minWidth: number, + maxWidth: number, + minBitrate: number, + maxBitrate: number +}; diff --git a/src/types/screen-orientation-type.ts b/src/types/screen-orientation-type.ts new file mode 100644 index 000000000..a82369dc9 --- /dev/null +++ b/src/types/screen-orientation-type.ts @@ -0,0 +1 @@ +export type PKOrientationType = {[type: string]: string}; diff --git a/src/types/session-config.ts b/src/types/session-config.ts new file mode 100644 index 000000000..ba3ca0c56 --- /dev/null +++ b/src/types/session-config.ts @@ -0,0 +1,7 @@ +export type PKSessionConfigObject = { + id?: string, + ks?: string, + isAnonymous?: boolean, + partnerId?: number, + uiConfId?: number +}; diff --git a/src/types/sources-config.ts b/src/types/sources-config.ts new file mode 100644 index 000000000..dcfefc50c --- /dev/null +++ b/src/types/sources-config.ts @@ -0,0 +1,27 @@ +import {PKMediaSourceObject} from './media-source'; +import {PKExternalCaptionObject} from './external-caption-object'; +import {PKExternalThumbnailsConfig} from './exteranl-thumbnails-object'; +import {PKMediaSourceOptionsObject} from './media-source-options'; +import {PKMetadataConfigObject} from './metadata-config'; +import {ImageSourceOptions} from './image-player-options'; + +export type PKSourcesConfigObject = { + hls: Array, + dash: Array, + progressive: Array, + image: Array, + captions?: Array, + thumbnails?: PKExternalThumbnailsConfig, + options: PKMediaSourceOptionsObject, + type: string, + dvr: boolean, + metadata: PKMetadataConfigObject, + id?: string, + poster?: string, + duration?: number, + startTime?: number, + vr?: any, + imageSourceOptions?: ImageSourceOptions, + seekFrom?: number, + clipTo?: number +}; diff --git a/src/types/stats.ts b/src/types/stats.ts new file mode 100644 index 000000000..472b4d2e9 --- /dev/null +++ b/src/types/stats.ts @@ -0,0 +1,4 @@ +export type PKStatsObject = { + targetBuffer: number, + availableBuffer: number +}; diff --git a/src/types/stream-priority.ts b/src/types/stream-priority.ts new file mode 100644 index 000000000..1c492923b --- /dev/null +++ b/src/types/stream-priority.ts @@ -0,0 +1,4 @@ +export type PKStreamPriorityObject = { + engine: string, + format: string +}; diff --git a/src/types/stream-types.ts b/src/types/stream-types.ts new file mode 100644 index 000000000..baacdf7c7 --- /dev/null +++ b/src/types/stream-types.ts @@ -0,0 +1,2 @@ +export type PlayerStreamTypes = 'dash' | 'hls' | 'progressive' | 'image'; +export type PKStreamTypes = Record<'DASH' | 'HLS' | 'PROGRESSIVE' | 'IMAGE', PlayerStreamTypes>; diff --git a/src/types/streaming-config.ts b/src/types/streaming-config.ts new file mode 100644 index 000000000..085020ee6 --- /dev/null +++ b/src/types/streaming-config.ts @@ -0,0 +1,6 @@ +export type PKStreamingConfigObject = { + forceBreakStall: boolean, + lowLatencyMode: boolean, + trackEmsgEvents: boolean, + switchDynamicToStatic: boolean +}; diff --git a/src/types/text-config.ts b/src/types/text-config.ts new file mode 100644 index 000000000..d5bfd3c1a --- /dev/null +++ b/src/types/text-config.ts @@ -0,0 +1,15 @@ +import {PKTextStyleObject} from './text-style'; +import {PKTextTrackDisplaySettingObject} from './text-track-display-setting'; + +export interface PKTextConfigObject { + enableCEA708Captions: boolean; + useShakaTextTrackDisplay: boolean; + useNativeTextTrack: boolean; + textTrackDisplaySetting: PKTextTrackDisplaySettingObject; + textStyle: PKTextStyleObject; + forceCenter: boolean; + captionsTextTrack1Label: string; + captionsTextTrack1LanguageCode: string; + captionsTextTrack2Label: string; + captionsTextTrack2LanguageCode: string; +} diff --git a/src/types/text-style.ts b/src/types/text-style.ts new file mode 100644 index 000000000..03446c535 --- /dev/null +++ b/src/types/text-style.ts @@ -0,0 +1,23 @@ +export type FontSizeOptions = '50%' | '75%' | '100%' | '200%' | '300%' | '400%'; +export type FontScaleOptions = -2 | -1 | 0 | 2 | 3 | 4; +/** + * @typedef {Object} PKTextStyleObject + * @property {"50%" | "75%" | "100%" | "200%" | "300%" | "400%"} fontSize='100%' - Percentage unit relative to the parent element's font size. + * @property {-2 | -1 | 0 | 2 | 3 | 4} fontScale=0 - - Integer number representing the scaling factor relative to the parent element's font size. + * @property {string} fontFamily='sans-serif' + * @property {[number, number, number]} fontColor=[255, 255, 255] - Color in RGB format. + * @property {number} fontOpacity=1 + * @property {Array<[number, number, number, number, number, number]>} fontEdge=[] + * @property {[number, number, number]} backgroundColor=[0, 0, 0] - Color in RGB format. + * @property {number} backgroundOpacity=1 + */ +export type PKTextStyleObject = { + fontSize: FontSizeOptions, + fontScale: FontScaleOptions, + fontFamily: string, + fontColor: [number, number, number], + fontOpacity: number, + fontEdge: Array<[number, number, number, number, number, number]>, + backgroundColor: [number, number, number], + backgroundOpacity: number +}; diff --git a/src/types/text-track-cue.ts b/src/types/text-track-cue.ts new file mode 100644 index 000000000..c28ceaffd --- /dev/null +++ b/src/types/text-track-cue.ts @@ -0,0 +1,4 @@ +export interface PKTextTrackCue extends TextTrackCue { + value: { key: string, data: string | any }; + type?: string; +} diff --git a/src/types/text-track-display-setting.ts b/src/types/text-track-display-setting.ts new file mode 100644 index 000000000..f6467ebe0 --- /dev/null +++ b/src/types/text-track-display-setting.ts @@ -0,0 +1,10 @@ +export type PKTextTrackDisplaySettingObject = { + line: string | number, + lineAlign: string, + align: string, + position: number, + positionAlign: string, + snapToLines: boolean, + vertical: string, + size: number +}; diff --git a/src/types/thumbnail-vtt-cue.ts b/src/types/thumbnail-vtt-cue.ts new file mode 100644 index 000000000..3fa33f5f6 --- /dev/null +++ b/src/types/thumbnail-vtt-cue.ts @@ -0,0 +1,7 @@ +export type PKThumbnailVttCue = { + startTime: number, + endTime: number, + imgUrl: string, + coordinates: {x: number, y: number} | null, + size: {height: number, width: number} | null +}; diff --git a/src/types/track-types.ts b/src/types/track-types.ts new file mode 100644 index 000000000..7943485dc --- /dev/null +++ b/src/types/track-types.ts @@ -0,0 +1 @@ +export type PKTrackTypes = {[track: string]: string}; diff --git a/src/types/ua-parser.ts b/src/types/ua-parser.ts new file mode 100644 index 000000000..b6d572a07 --- /dev/null +++ b/src/types/ua-parser.ts @@ -0,0 +1,209 @@ + + interface IBrowser { + /** + * Possible values : + * Amaya, Android Browser, Arora, Avant, Baidu, Blazer, Bolt, Camino, Chimera, Chrome, + * Chromium, Comodo Dragon, Conkeror, Dillo, Dolphin, Doris, Edge, Epiphany, Fennec, + * Firebird, Firefox, Flock, GoBrowser, iCab, ICE Browser, IceApe, IceCat, IceDragon, + * Iceweasel, IE [Mobile], Iron, Jasmine, K-Meleon, Konqueror, Kindle, Links, + * Lunascape, Lynx, Maemo, Maxthon, Midori, Minimo, MIUI Browser, [Mobile] Safari, + * Mosaic, Mozilla, Netfront, Netscape, NetSurf, Nokia, OmniWeb, Opera [Mini/Mobi/Tablet], + * Phoenix, Polaris, QQBrowser, RockMelt, Silk, Skyfire, SeaMonkey, SlimBrowser, Swiftfox, + * Tizen, UCBrowser, Vivaldi, w3m, Yandex + */ + name: string | undefined; + + /** + * Determined dynamically + */ + version: string | undefined; + + /** + * Determined dynamically + * @deprecated + */ + major: string | undefined; + } + + interface IDevice { + /** + * Determined dynamically + */ + model: string | undefined; + + /** + * Possible type: + * console, mobile, tablet, smarttv, wearable, embedded + */ + type: string | undefined; + + /** + * Possible vendor: + * Acer, Alcatel, Amazon, Apple, Archos, Asus, BenQ, BlackBerry, Dell, GeeksPhone, + * Google, HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu, Microsoft, Motorola, Nexian, + * Nintendo, Nokia, Nvidia, Ouya, Palm, Panasonic, Polytron, RIM, Samsung, Sharp, + * Siemens, Sony-Ericsson, Sprint, Xbox, ZTE + */ + vendor: string | undefined; + } + + interface IEngine { + /** + * Possible name: + * Amaya, EdgeHTML, Gecko, iCab, KHTML, Links, Lynx, NetFront, NetSurf, Presto, + * Tasman, Trident, w3m, WebKit + */ + name: string | undefined; + /** + * Determined dynamically + */ + version: string | undefined; + } + + interface IOS { + /** + * Possible 'os.name' + * AIX, Amiga OS, Android, Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS, Contiki, + * Fedora, Firefox OS, FreeBSD, Debian, DragonFly, Gentoo, GNU, Haiku, Hurd, iOS, + * Joli, Linpus, Linux, Mac OS, Mageia, Mandriva, MeeGo, Minix, Mint, Morph OS, NetBSD, + * Nintendo, OpenBSD, OpenVMS, OS/2, Palm, PCLinuxOS, Plan9, Playstation, QNX, RedHat, + * RIM Tablet OS, RISC OS, Sailfish, Series40, Slackware, Solaris, SUSE, Symbian, Tizen, + * Ubuntu, UNIX, VectorLinux, WebOS, Windows [Phone/Mobile], Zenwalk + */ + name: string | undefined; + /** + * Determined dynamically + */ + version: string | undefined; + } + + interface ICPU { + /** + * Possible architecture: + * 68k, amd64, arm, arm64, avr, ia32, ia64, irix, irix64, mips, mips64, pa-risc, + * ppc, sparc, sparc64 + */ + architecture: string | undefined; + } + + interface IResult { + ua: string; + browser: IBrowser; + device: IDevice; + engine: IEngine; + os: IOS; + cpu: ICPU; + } + + interface BROWSER { + NAME: "name"; + /** + * @deprecated + */ + MAJOR: "major"; + VERSION: "version"; + } + + interface CPU { + ARCHITECTURE: "architecture"; + } + + interface DEVICE { + MODEL: "model"; + VENDOR: "vendor"; + TYPE: "type"; + CONSOLE: "console"; + MOBILE: "mobile"; + SMARTTV: "smarttv"; + TABLET: "tablet"; + WEARABLE: "wearable"; + EMBEDDED: "embedded"; + } + + interface ENGINE { + NAME: "name"; + VERSION: "version"; + } + + interface OS { + NAME: "name"; + VERSION: "version"; + } + + interface UAParserInstance { + /** + * Returns browser information + */ + getBrowser(): IBrowser; + + /** + * Returns OS information + */ + getOS(): IOS; + + /** + * Returns browsers engine information + */ + getEngine(): IEngine; + + /** + * Returns device information + */ + getDevice(): IDevice; + + /** + * Returns parsed CPU information + */ + getCPU(): ICPU; + + /** + * Returns UA string of current instance + */ + getUA(): string; + + /** + * Set & parse UA string + */ + setUA(uastring: string): UAParserInstance; + + /** + * Returns parse result + */ + getResult(): IResult; + } + + +type UAParser = UAParser.UAParserInstance; + +declare const UAParser: { + VERSION: string; + BROWSER: BROWSER; + CPU: CPU; + DEVICE: DEVICE; + ENGINE: ENGINE; + OS: OS; + + /** + * Create a new parser with UA prepopulated and extensions extended + */ + new(uastring?: string, extensions?: Record): UAParser.UAParserInstance; + new(extensions?: Record): UAParser.UAParserInstance; + (uastring?: string, extensions?: Record): IResult; + (extensions?: Record): IResult; + + // alias for older syntax + UAParser: typeof UAParser; +}; + +export interface IEnv extends IResult { + isConsole: boolean; + isSmartTV: boolean; + isMobile: boolean; + isTablet: boolean; + isWearable: boolean; + isEmbedded: boolean; + isIPadOS: boolean; + isSafari: boolean; + isIOS: boolean; + isMacOS: boolean; +} diff --git a/src/types/video-dimensions.ts b/src/types/video-dimensions.ts new file mode 100644 index 000000000..5b89af1fb --- /dev/null +++ b/src/types/video-dimensions.ts @@ -0,0 +1,4 @@ +export type PKVideoDimensionsObject = { + videoHeight: number, + videoWidth: number +}; diff --git a/src/types/video-element-store.ts b/src/types/video-element-store.ts new file mode 100644 index 000000000..63f22381c --- /dev/null +++ b/src/types/video-element-store.ts @@ -0,0 +1 @@ +export type PKVideoElementStore = {[id: string]: HTMLVideoElement} | {}; diff --git a/src/utils/binary-search.js b/src/utils/binary-search.ts similarity index 87% rename from src/utils/binary-search.js rename to src/utils/binary-search.ts index c7e2c1764..c0983f534 100644 --- a/src/utils/binary-search.js +++ b/src/utils/binary-search.ts @@ -1,4 +1,3 @@ -//@flow /** * @param {Array} list The array to search. * @param {Function} comparisonFn @@ -10,7 +9,7 @@ * * @return {any} The object if it is found or null otherwise. */ -export function binarySearch(list: Array = [], comparisonFn: Function = () => 1): any { +export function binarySearch(list: Array = [], comparisonFn: ((param: T) => number) = (): number => 1): T | null { if (list.length === 0 || (list.length === 1 && comparisonFn(list[0]) !== 0)) { return null; } diff --git a/src/utils/env.js b/src/utils/env.ts similarity index 62% rename from src/utils/env.js rename to src/utils/env.ts index d22fe7975..8f4b4ae88 100644 --- a/src/utils/env.js +++ b/src/utils/env.ts @@ -1,5 +1,5 @@ -// @flow import UAParser from 'ua-parser-js'; +import {IEnv} from '../types/ua-parser'; const SmartTvRegex = /^.*(smart-tv|smarttv).*$/i; @@ -47,17 +47,17 @@ const EdgeChromiumParser = [[/(edg)\/((\d+)?[\w.]+)/i], [[UAParser.BROWSER.NAME, const BrowserParser = [...EdgeChromiumParser, ...SAMSUNGBrowserParser]; -let Env = new UAParser(undefined, {browser: BrowserParser, device: DeviceParser, os: OSParser}).getResult(); -Env.isConsole = Env.device.type === UAParser.DEVICE.CONSOLE; -Env.isSmartTV = Env.device.type === UAParser.DEVICE.SMARTTV; -Env.isMobile = Env.device.type === UAParser.DEVICE.MOBILE; -Env.isTablet = Env.device.type === UAParser.DEVICE.TABLET; -Env.isWearable = Env.device.type === UAParser.DEVICE.WEARABLE; -Env.isEmbedded = Env.device.type === UAParser.DEVICE.EMBEDDED; -Env.isIPadOS = Env.os.name === 'Mac OS' && 'ontouchend' in document; -Env.isSafari = Env.browser.name.includes('Safari'); -Env.isIOS = Env.os.name === 'iOS'; -Env.isMacOS = Env.os.name === 'Mac OS'; +const Env: IEnv = new UAParser(undefined, {browser: BrowserParser, device: DeviceParser, os: OSParser}).getResult() as IEnv; +Env['isConsole'] = Env.device.type === UAParser.DEVICE.CONSOLE; +Env['isSmartTV'] = Env.device.type === UAParser.DEVICE.SMARTTV; +Env['isMobile'] = Env.device.type === UAParser.DEVICE.MOBILE; +Env['isTablet'] = Env.device.type === UAParser.DEVICE.TABLET; +Env['isWearable'] = Env.device.type === UAParser.DEVICE.WEARABLE; +Env['isEmbedded'] = Env.device.type === UAParser.DEVICE.EMBEDDED; +Env['isIPadOS'] = Env.os.name === 'Mac OS' && 'ontouchend' in document; +Env['isSafari'] = Boolean(Env.browser.name?.includes('Safari')); +Env['isIOS'] = Env.os.name === 'iOS'; +Env['isMacOS'] = Env.os.name === 'Mac OS'; export default Env; diff --git a/src/utils/index.js b/src/utils/index.ts similarity index 100% rename from src/utils/index.js rename to src/utils/index.ts diff --git a/src/utils/jsonp.js b/src/utils/jsonp.ts similarity index 85% rename from src/utils/jsonp.js rename to src/utils/jsonp.ts index b39e63374..13d980e53 100644 --- a/src/utils/jsonp.js +++ b/src/utils/jsonp.ts @@ -1,4 +1,3 @@ -// @flow import Error from '../error/error'; const JSONP_TIMEOUT: number = 5000; @@ -12,8 +11,8 @@ const JSONP_FORMAT_STRING: string = 'responseFormat=jsonp&callback='; * @param {Object} options - Object contains configuration (currently only timeout). * @returns {Promise<*>} - A promise with the callback output. */ -function jsonp(url: string, callback: Function, options: Object): Promise<*> { - options = options || {}; +function jsonp(url: string, callback: (...args: any[]) => any, options: { timeout: number}): Promise { + options = options || {} as { timeout: number}; const timeout = options.timeout ? options.timeout : JSONP_TIMEOUT; const script = document.createElement('script'); const callbackId = CALLBACK_PREFIX + Math.round(Date.now() + Math.random() * 1000001); @@ -24,11 +23,11 @@ function jsonp(url: string, callback: Function, options: Object): Promise<*> { * function to clean the DOM from the script tag and from the function * @returns {void} */ - const _cleanup = () => { + const _cleanup = (): void => { if (script && script.parentNode) { script.parentNode.removeChild(script); } - window[callbackId] = () => {}; + window[callbackId] = (): void => {}; if (timer) { clearTimeout(timer); } @@ -36,7 +35,7 @@ function jsonp(url: string, callback: Function, options: Object): Promise<*> { return new Promise((resolve, reject) => { if (timeout) { - timer = setTimeout(function () { + timer = setTimeout( () => { _cleanup(); reject(new Error(Error.Severity.CRITICAL, Error.Category.NETWORK, Error.Code.TIMEOUT, url)); }, timeout); @@ -47,7 +46,7 @@ function jsonp(url: string, callback: Function, options: Object): Promise<*> { * @param {Object} data - the data we get from the server, in response to the request * @returns {void} */ - window[callbackId] = (data: Object) => { + window[callbackId] = (data: any): void => { const callbackResult = callback(data, url); _cleanup(); resolve(callbackResult); diff --git a/src/utils/locale.js b/src/utils/locale.ts similarity index 82% rename from src/utils/locale.js rename to src/utils/locale.ts index f7bc95341..cee180ab7 100644 --- a/src/utils/locale.js +++ b/src/utils/locale.ts @@ -1,4 +1,3 @@ -//@flow /** * Locale class * @class @@ -10,15 +9,12 @@ export default class Locale { * @returns {string} - the IOS-693-1 language string * @static */ - static get language(): string { + public static get language(): string { let lang: string; if (navigator.languages && navigator.languages.length) { // latest versions of Chrome and Firefox set this correctly lang = navigator.languages[0]; - } else if (navigator.userLanguage) { - // IE only - lang = navigator.userLanguage; } else { // latest versions of Chrome, Firefox, and Safari set this correctly lang = navigator.language; diff --git a/src/utils/logger.js b/src/utils/logger.ts similarity index 66% rename from src/utils/logger.js rename to src/utils/logger.ts index 79adadb1a..9adeda126 100644 --- a/src/utils/logger.js +++ b/src/utils/logger.ts @@ -1,16 +1,17 @@ -//@flow -import * as JsLogger from 'js-logger'; +import JsLogger, {ILogger, ILogHandler, ILogLevel} from 'js-logger'; +import { LoggerLevels } from '../types/logger-levels'; -const LogLevel: PKLogLevels = { +const LogLevel: LoggerLevels = { DEBUG: JsLogger.DEBUG, INFO: JsLogger.INFO, TIME: JsLogger.TIME, WARN: JsLogger.WARN, ERROR: JsLogger.ERROR, - OFF: JsLogger.OFF + OFF: JsLogger.OFF, + TRACE: JsLogger.TRACE }; -const LogLevelType: PKLogLevelTypes = {}; +const LogLevelType: Record = {} as Record; // Build the log level types enums according to the LogLevel object Object.keys(LogLevel).forEach(key => { @@ -25,7 +26,7 @@ JsLogger.useDefaults({defaultLevel: JsLogger.ERROR}); * @param {LogHandlerType} handler - the log level * @returns {void} */ -function setLogHandler(handler: LogHandlerType): void { +function setLogHandler(handler: ILogHandler): void { JsLogger.setHandler((messages, context) => handler(messages, context)); } @@ -34,7 +35,7 @@ function setLogHandler(handler: LogHandlerType): void { * @param {?string} name - the logger name * @returns {Object} - the logger class */ -function getLogger(name?: string): Object { +function getLogger(name?: string): ILogger { if (!name) { return JsLogger; } @@ -46,7 +47,7 @@ function getLogger(name?: string): Object { * @param {?string} name - the logger name * @returns {PKLogLevelObject} - the log level */ -function getLogLevel(name?: string): PKLogLevelObject { +function getLogLevel(name?: string): ILogLevel { return getLogger(name).getLevel(); } @@ -56,9 +57,9 @@ function getLogLevel(name?: string): PKLogLevelObject { * @param {?string} name - the logger name * @returns {void} */ -function setLogLevel(level: PKLogLevelObject, name?: string): void { +function setLogLevel(level: ILogLevel, name?: string): void { getLogger(name).setLevel(level); } export default getLogger; -export {LogLevel, LogLevelType, getLogLevel, setLogLevel, setLogHandler}; +export {LogLevel, LogLevelType, getLogLevel, setLogLevel, setLogHandler, getLogger}; diff --git a/src/utils/multi-map.js b/src/utils/multi-map.ts similarity index 80% rename from src/utils/multi-map.js rename to src/utils/multi-map.ts index a8ff4bf2c..589c62462 100644 --- a/src/utils/multi-map.js +++ b/src/utils/multi-map.ts @@ -1,5 +1,3 @@ -//@flow - /** * A simple multimap template. * @constructor @@ -7,7 +5,7 @@ * @template T */ class MultiMap { - _map: Map; + private _map: Map; constructor() { /** @private {!Object.>} */ @@ -20,9 +18,9 @@ class MultiMap { * @param {T} value - * @returns {void} */ - push(key: K, value: T): void { + public push(key: K, value: T): void { if (this._map.has(key)) { - let list = this._map.get(key); + const list = this._map.get(key); if (Array.isArray(list)) { list.push(value); this._map.set(key, list); @@ -38,7 +36,7 @@ class MultiMap { * @param {!Array.} values - * @returns {void} */ - set(key: K, values: T[]): void { + public set(key: K, values: T[]): void { this._map.set(key, values); } @@ -47,7 +45,7 @@ class MultiMap { * @param {K} key - * @return {boolean} true if the key exists. */ - has(key: K): boolean { + public has(key: K): boolean { return this._map.has(key); } @@ -56,8 +54,8 @@ class MultiMap { * @param {K} key - * @return {Array.} or null if no such key exists. */ - get(key: K): Array { - let list = this._map.get(key); + public get(key: K): Array { + const list = this._map.get(key); // slice() clones the list so that it and the map can each be modified // without affecting the other. return list ? list.slice() : []; @@ -67,9 +65,9 @@ class MultiMap { * Get a list of all values. * @returns {!Array.} - */ - getAll(): T[] { + public getAll(): T[] { let list: T[] = []; - for (var value of this._map.values()) { + for (const value of this._map.values()) { list = list.concat(value); } return list; @@ -81,12 +79,12 @@ class MultiMap { * @param {T} value - * @returns {void} */ - remove(key: K, value: T): void { + public remove(key: K, value: T): void { if (!this._map.has(key)) return; - let list = this._map.get(key); + const list = this._map.get(key); if (Array.isArray(list)) { for (let i = 0; i < list.length; ++i) { - if (list[i] == value) { + if (list[i] === value) { list.splice(i, 1); --i; } @@ -102,7 +100,7 @@ class MultiMap { * @return {!Array.} */ // eslint-disable-next-line no-undef - keys(): Iterator { + public keys(): Iterator { return this._map.keys(); } @@ -110,7 +108,7 @@ class MultiMap { * Clear all keys and values from the multimap. * @returns {void} */ - clear(): void { + public clear(): void { this._map.clear(); } } diff --git a/src/utils/poster-manager.js b/src/utils/poster-manager.ts similarity index 82% rename from src/utils/poster-manager.js rename to src/utils/poster-manager.ts index f4c2b3c4f..761e348f6 100644 --- a/src/utils/poster-manager.js +++ b/src/utils/poster-manager.ts @@ -1,4 +1,3 @@ -// @flow import * as Utils from './util'; class PosterManager { @@ -7,13 +6,13 @@ class PosterManager { * @type {string} * @private */ - _posterUrl: string; + private _posterUrl!: string; /** * The poster HTML Div element. * @type {HTMLDivElement} * @private */ - _el: HTMLDivElement; + private _el!: HTMLDivElement; constructor() { this._createEl(); @@ -25,7 +24,7 @@ class PosterManager { * @public * @returns {void} */ - setSrc(posterUrl: ?string): void { + public setSrc(posterUrl?: string): void { if (posterUrl) { this._posterUrl = posterUrl; Utils.Dom.setStyle(this._el, 'background-image', `url("${this._posterUrl}")`); @@ -38,7 +37,7 @@ class PosterManager { * @public * @returns {string} - the poster image URL */ - get src(): string { + public get src(): string { return this._posterUrl; } @@ -47,7 +46,7 @@ class PosterManager { * @public * @returns {HTMLDivElement} - Poster HTML Dom element */ - getElement(): HTMLDivElement { + public getElement(): HTMLDivElement { return this._el; } @@ -56,7 +55,7 @@ class PosterManager { * @private * @returns {void} */ - _createEl(): void { + private _createEl(): void { if (!this._el) { const el = (this._el = Utils.Dom.createElement('div')); Utils.Dom.setAttribute(el, 'id', Utils.Generator.uniqueId(5)); @@ -69,9 +68,9 @@ class PosterManager { * @private * @returns {void} */ - _removeEl(): void { + private _removeEl(): void { if (this._el) { - Utils.Dom.removeChild(this._el.parentNode, this._el); + Utils.Dom.removeChild(this._el.parentNode || undefined, this._el); } } @@ -81,7 +80,7 @@ class PosterManager { * @private * @returns {void} */ - show(): void { + public show(): void { Utils.Dom.setStyle(this._el, 'display', ''); } @@ -90,7 +89,7 @@ class PosterManager { * @public * @returns {void} */ - hide(): void { + public hide(): void { Utils.Dom.setStyle(this._el, 'display', 'none'); } @@ -99,7 +98,7 @@ class PosterManager { * @public * @returns {void} */ - reset(): void { + public reset(): void { this._posterUrl = ''; Utils.Dom.setStyle(this._el, 'background-image', ''); } @@ -109,7 +108,7 @@ class PosterManager { * @public * @returns {void} */ - destroy(): void { + public destroy(): void { this.reset(); this._removeEl(); } diff --git a/src/utils/resize-watcher.js b/src/utils/resize-watcher.ts similarity index 59% rename from src/utils/resize-watcher.js rename to src/utils/resize-watcher.ts index 779f36c68..1419fa693 100644 --- a/src/utils/resize-watcher.js +++ b/src/utils/resize-watcher.ts @@ -1,14 +1,13 @@ -//@flow -import FakeEvent from '../event/fake-event'; -import FakeEventTarget from '../event/fake-event-target'; +import { FakeEvent } from '../event/fake-event'; +import { FakeEventTarget } from '../event/fake-event-target'; import {CustomEventType} from '../event/event-type'; /** * A Factory class to create a resize observer for the player. */ class ResizeWatcher extends FakeEventTarget { - _observer: ?Object; - _el: ?HTMLElement; + private _observer?: ResizeObserver | IFrameObserver; + private _el?: HTMLElement; constructor() { super(); @@ -18,12 +17,12 @@ class ResizeWatcher extends FakeEventTarget { * Removes resize listeners. * @returns {void} */ - destroy(): void { + public destroy(): void { if (this._observer) { this._observer.disconnect(); } - this._observer = null; - this._el = null; + this._observer = undefined; + this._el = undefined; } /** @@ -31,30 +30,28 @@ class ResizeWatcher extends FakeEventTarget { * @param {HTMLElement} el - the element to listen to. * @returns {void} */ - init(el: HTMLElement): void { - if (this._observer) { - return; - } + public init(el: HTMLElement): void { + if (this._observer) return this._el = el; - window.ResizeObserver ? this._createNativeObserver() : this._createIframeObserver(); + ResizeObserver ? this._createNativeObserver() : this._createIframeObserver(); if (this._el instanceof HTMLElement && this._observer) { - this._observer.observe(this._el); + (this._observer as ResizeObserver | IFrameObserver).observe(this._el); } } - _createNativeObserver() { - this._observer = new window.ResizeObserver(entries => { + private _createNativeObserver(): void { + this._observer = new ResizeObserver(entries => { entries.forEach(() => { this._triggerResize(); }); }); } - _createIframeObserver() { + private _createIframeObserver(): void { this._observer = new IFrameObserver(this._triggerResize.bind(this)); } - _triggerResize() { + private _triggerResize(): void { this.dispatchEvent(new FakeEvent(CustomEventType.RESIZE)); } } @@ -68,10 +65,10 @@ const IFRAME_CLASS_NAME: string = 'playkit-size-iframe'; * @param {Function} callback - the function to be called when a resize event is detected. */ class IFrameObserver { - _observersStore: Object = {}; - _onChangeCallback: Function; + private _observersStore: {[id: number]: HTMLIFrameElement} = {}; + private _onChangeCallback: () => void; - constructor(callback: Function) { + constructor(callback: () => void) { this._onChangeCallback = callback; } @@ -80,32 +77,36 @@ class IFrameObserver { * @param {HTMLElement} el - The element that is going to be resized. * @returns {void} */ - observe(el: HTMLElement): void { + public observe(el: HTMLElement): void { const iframe = this._createIframe(); const playerId = el.getAttribute('id'); - this._observersStore[playerId] = iframe; + this._observersStore[playerId!] = iframe; el.appendChild(iframe); - iframe.contentWindow.onresize = () => this._onChangeCallback(); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + iframe.contentWindow.onresize = (): void => this._onChangeCallback(); } /** * remove all resize listeners * @returns {void} */ - disconnect(): void { - for (let target in this._observersStore) { + public disconnect(): void { + for (const target in this._observersStore) { const el = document.getElementById(target); const iframe = this._observersStore[target]; iframe.onresize = null; if (el) { el.removeChild(iframe); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore delete this._observersStore[el.getAttribute('id')]; } } } - _createIframe(): HTMLIFrameElement { - let iframe = document.createElement('iframe'); + private _createIframe(): HTMLIFrameElement { + const iframe = document.createElement('iframe'); iframe.className = IFRAME_CLASS_NAME; return iframe; } diff --git a/src/utils/resolution.js b/src/utils/resolution.ts similarity index 70% rename from src/utils/resolution.js rename to src/utils/resolution.ts index ee21f8dda..16957e787 100644 --- a/src/utils/resolution.js +++ b/src/utils/resolution.ts @@ -1,5 +1,4 @@ -//@flow - +import {PKMediaSourceObject} from '../types'; /** * Calculates the most suitable source to the container size * @function getSuitableSourceForResolution @@ -8,14 +7,14 @@ * @param {number} height - The height to calculate with * @returns {Object} - The most suitable source to the container size */ -function getSuitableSourceForResolution(tracks: Array, width: number, height: number): ?Object { - let mostSuitableWidth = null; +function getSuitableSourceForResolution(tracks: PKMediaSourceObject[], width: number, height: number): PKMediaSourceObject | null { + let mostSuitableWidth: PKMediaSourceObject| null = null; if (height && tracks) { - let mostSuitableWidthTracks = []; + let mostSuitableWidthTracks: PKMediaSourceObject[] = []; let minWidthDiff = Infinity; - for (let track of tracks) { + for (const track of tracks) { // first filter the most width suitable - let widthDiff = Math.abs(track.width - width); + const widthDiff = Math.abs(track.width! - width); if (widthDiff < minWidthDiff) { minWidthDiff = widthDiff; mostSuitableWidthTracks = [track]; @@ -23,13 +22,13 @@ function getSuitableSourceForResolution(tracks: Array, width: number, he mostSuitableWidthTracks.push(track); } } - let videoRatio = width / height; + const videoRatio = width / height; let mostSuitableWidthAndRatioTracks = mostSuitableWidthTracks; let minRatioDiff = Infinity; - for (let track of mostSuitableWidthTracks) { + for (const track of mostSuitableWidthTracks) { // filter the most ratio suitable from the width filter results if (track.height) { - let ratioDiff = Math.abs(track.width / track.height - videoRatio); + const ratioDiff = Math.abs(track.width / track.height - videoRatio); if (ratioDiff < minRatioDiff) { minRatioDiff = ratioDiff; mostSuitableWidthAndRatioTracks = [track]; @@ -39,7 +38,7 @@ function getSuitableSourceForResolution(tracks: Array, width: number, he } } let maxBandwidth = 0; - for (let track of mostSuitableWidthAndRatioTracks) { + for (const track of mostSuitableWidthAndRatioTracks) { // select the top bitrate from the ratio filter results if (track.bandwidth > maxBandwidth || !track.bandwidth) { maxBandwidth = track.bandwidth || maxBandwidth; diff --git a/src/utils/restrictions.js b/src/utils/restrictions.ts similarity index 74% rename from src/utils/restrictions.js rename to src/utils/restrictions.ts index 8ecaa7483..5bad58daf 100644 --- a/src/utils/restrictions.js +++ b/src/utils/restrictions.ts @@ -1,18 +1,17 @@ -//@flow - import VideoTrack from '../track/video-track'; +import {PKABRRestrictionObject} from '../types'; /** * Filter the video tracks which not in the range * @function filterVideoTracksByRestriction - * @param {Array} tracks - The tracks to filter + * @param {Array} tracks - The tracks to filter * @param {PKABRRestrictionObject} restriction - The restriction - * @returns {Array} - The relevant video tracks after restrictions. + * @returns {Array} - The relevant video tracks after restrictions. */ function _filterVideoTracksByRestriction(tracks: Array, restriction: PKABRRestrictionObject): Array { const MIN_DEFAULT_VALUE = 0; const MAX_DEFAULT_VALUE = Infinity; - const inRange = (x, min, max) => { + const inRange = (x, min, max): boolean => { return x >= (min || MIN_DEFAULT_VALUE) && x <= (max || MAX_DEFAULT_VALUE); }; const {maxHeight, minHeight, maxWidth, minWidth} = restriction; @@ -29,11 +28,11 @@ function _filterVideoTracksByRestriction(tracks: Array, restriction: /** * Filter the video tracks which not in the range * @function filterVideoTracksByRestriction - * @param {Array} videoTracks - The tracks to filter + * @param {Array} videoTracks - The tracks to filter * @param {PKABRRestrictionObject} restriction - The restriction - * @returns {Array} - The relevant video tracks after restrictions. + * @returns {Array} - The relevant video tracks after restrictions. */ -function filterTracksByRestriction(videoTracks: Array, restriction: PKABRRestrictionObject): Array { +function filterTracksByRestriction(videoTracks: VideoTrack[], restriction: PKABRRestrictionObject): VideoTrack[] { const filterVideoTracks = _filterVideoTracksByRestriction(videoTracks, restriction); return filterVideoTracks.length ? filterVideoTracks : []; } diff --git a/src/utils/util.js b/src/utils/util.ts similarity index 79% rename from src/utils/util.js rename to src/utils/util.ts index ad8e63431..e5d05285e 100644 --- a/src/utils/util.js +++ b/src/utils/util.ts @@ -1,5 +1,5 @@ -//@flow -import {jsonp} from './jsonp'; +import { jsonp } from './jsonp'; +import { DeferredPromise } from '../types'; ('use strict'); @@ -53,7 +53,7 @@ const _String = { if (typeof string !== 'string' || typeof searchString !== 'string') { return false; } - return string.indexOf(searchString, string.length - searchString.length) != -1; + return string.indexOf(searchString, string.length - searchString.length) !== -1; } }; @@ -62,9 +62,9 @@ const _Object = { * @param {Array} objects - The objects to merge * @returns {Object} - The merged object. */ - merge: function (objects: Array): Object { - let target = {}; - for (let obj of objects) { + merge: function (objects: Array): any { + const target = {}; + for (const obj of objects) { Object.assign(target, obj); } return target; @@ -74,7 +74,7 @@ const _Object = { * @param {any} item - The item to check. * @returns {boolean} - Whether the item is an object. */ - isObject: function (item: any) { + isObject: function (item: any): boolean { return item && typeof item === 'object' && !Array.isArray(item); }, @@ -82,7 +82,7 @@ const _Object = { * @param {any} item - The item to check if it's class * @returns {boolean} - Whether the item is a class */ - isClassInstance: function (item: any) { + isClassInstance: function (item: any): boolean { return item && item.constructor && item.constructor.name && item.constructor.name !== 'Object'; }, @@ -91,7 +91,7 @@ const _Object = { * @param {any} sources - The objects to merge. * @returns {Object} - The merged object. */ - mergeDeep: function (target: any, ...sources: any): Object { + mergeDeep: function (target: any, ...sources: any): any { if (!sources.length) { return target; } @@ -99,10 +99,10 @@ const _Object = { if (this.isObject(target) && this.isObject(source)) { for (const key in source) { if (this.isObject(source[key]) && !this.isClassInstance(source[key])) { - if (!target[key]) Object.assign(target, {[key]: {}}); + if (!target[key]) Object.assign(target, { [key]: {} }); this.mergeDeep(target[key], source[key]); } else { - Object.assign(target, {[key]: source[key]}); + Object.assign(target, { [key]: source[key] }); } } } @@ -118,7 +118,7 @@ const _Object = { if (Array.isArray(data)) { node = data.length > 0 ? data.slice(0) : []; node.forEach((e, i) => { - if ((typeof e === 'object' && e !== {}) || (Array.isArray(e) && e.length > 0)) { + if (typeof e === 'object' || (Array.isArray(e) && e.length > 0)) { node[i] = this.copyDeep(e); } }); @@ -126,9 +126,9 @@ const _Object = { if (data.clone && typeof data.clone === 'function') { node = data.clone(); } else { - node = Object.assign({__proto__: data.__proto__}, data); - Object.keys(node).forEach(key => { - if ((typeof node[key] === 'object' && node[key] !== {}) || (Array.isArray(node[key]) && node[key].length > 0)) { + node = Object.assign({ __proto__: data.__proto__ }, data); + Object.keys(node).forEach((key) => { + if (typeof node[key] === 'object' || (Array.isArray(node[key]) && node[key].length > 0)) { node[key] = this.copyDeep(node[key]); } }); @@ -144,9 +144,9 @@ const _Object = { * @param {Object} obj - The object to check * @returns {boolean} - Whether the object is empty. */ - isEmptyObject: function (obj: Object): boolean { - for (let key in obj) { - if (window.Object.prototype.hasOwnProperty.call(obj, key)) return false; + isEmptyObject: function (obj: object): boolean { + for (const key in obj) { + if (Object.hasOwnProperty.call(obj, key)) return false; } return true; }, @@ -157,7 +157,8 @@ const _Object = { * @param {string} propertyPath - The path to check. * @returns {boolean} - The value in this path. */ - getPropertyPath: function (obj: Object, propertyPath: string): any { + getPropertyPath: function (obj: object, propertyPath: string): any { + // eslint-disable-next-line return propertyPath.split('.').reduce(function (o, x) { return typeof o === 'undefined' || o === null ? o : o[x]; }, obj); @@ -169,14 +170,14 @@ const _Object = { * @param {string} propertyPath - The path to check. * @returns {boolean} - Whether the path exists in the object. */ - hasPropertyPath: function (obj: Object, propertyPath: string): boolean { + hasPropertyPath: function (obj: object, propertyPath: string): boolean { if (!propertyPath) { return false; } - let properties = propertyPath.split('.'); + const properties = propertyPath.split('.'); for (let i = 0; i < properties.length; i++) { - let prop = properties[i]; - if (!obj || !window.Object.prototype.hasOwnProperty.call(obj, prop)) { + const prop = properties[i]; + if (!obj || !Object.hasOwnProperty.call(obj, prop)) { return false; } else { obj = obj[prop]; @@ -192,7 +193,7 @@ const _Object = { * @param {any} value - The value to set in the path. * @returns {Object} - The result object. */ - createPropertyPath: function (obj: Object, path: string, value: any = null): Object { + createPropertyPath: function (obj: object, path: string, value: any = null): any { let pathArray = path.split('.'); let current = obj; while (pathArray.length > 1) { @@ -213,17 +214,18 @@ const _Object = { * @param {string} path - The path to delete in the object. * @returns {void} */ - deletePropertyPath: function (obj: Object, path: string): void { + deletePropertyPath: function (obj: object, path: string): void { if (!obj || !path) { return; } - let pathArray = path.split('.'); + const pathArray = path.split('.'); for (let i = 0; i < pathArray.length - 1; i++) { obj = obj[pathArray[i]]; if (typeof obj === 'undefined') { return; } } + // @ts-expect-error - 'undefined' cannot be used as an index type delete obj[pathArray.pop()]; }, @@ -233,17 +235,13 @@ const _Object = { */ defer: function (): DeferredPromise { let res, rej; - // $FlowFixMe - let promise = new Promise((resolve, reject) => { + const promise = new Promise((resolve, reject) => { res = resolve; rej = reject; }); - // $FlowFixMe - promise.resolve = res; - // $FlowFixMe - promise.reject = rej; - // $FlowFixMe - return promise; + promise['resolve'] = res; + promise['reject'] = rej; + return promise as unknown as DeferredPromise; }, /** @@ -253,8 +251,9 @@ const _Object = { * @returns {Function} - The new bound function. * @public */ - bind: function (thisObj: any, fn: Function): Function { + bind: function (thisObj: any, fn: (...args: any[]) => any): (...args: any[]) => any { return function () { + // eslint-disable-next-line prefer-rest-params fn.apply(thisObj, arguments); }; } @@ -266,10 +265,10 @@ const _Generator = { * @param {number} length - The length of the id. * @returns {string} - The generated id. */ - uniqueId: function (length: ?number) { - let from = 2; - let to = from + (!length || length < 0 ? 0 : length - 2); - return '_' + Math.random().toString(36).substr(from, to); + uniqueId: function (length?: number): string { + const from = 2; + const to = from + (!length || length < 0 ? 0 : length - 2); + return '_' + Math.random().toString(36).slice(from, from + to); }, /** @@ -278,7 +277,7 @@ const _Generator = { * @private */ guid: function (): string { - let S4 = () => { + const S4 = () : string => { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); }; return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4(); @@ -327,8 +326,8 @@ const _Dom = { * @param {string} className - a class name * @returns {boolean} - weather an element contains a class name */ - hasClassName(element: HTMLElement, className: string) { - return element && element.className && new RegExp('(^|\\s)' + className + '(\\s|$)').test(element.className); + hasClassName(element: HTMLElement, className: string): boolean { + return (element && element.className && new RegExp('(^|\\s)' + className + '(\\s|$)').test(element.className)) as boolean; }, /** * Add element attribute @@ -367,7 +366,7 @@ const _Dom = { * @param {Element} child - The child node. * @returns {void} */ - appendChild(parent: ?Element, child: ?Element): void { + appendChild(parent?: HTMLElement, child?: HTMLElement): void { if (parent && child && parent.appendChild) { parent.appendChild(child); } @@ -378,7 +377,7 @@ const _Dom = { * @param {Element} child - The child node. * @returns {void} */ - removeChild(parent: ?Node, child: ?Element): void { + removeChild(parent?: Node | null, child?: HTMLElement): void { if (parent && child && parent.removeChild) { parent.removeChild(child); } @@ -428,13 +427,13 @@ const _Dom = { */ loadStyleSheetAsync(url: string): Promise { return new Promise((resolve, reject) => { - let resolved = false, - cssLinkElement = this.createElement('link'); + let resolved = false; + const cssLinkElement = this.createElement('link'); cssLinkElement.type = 'text/css'; cssLinkElement.rel = 'stylesheet'; cssLinkElement.href = url; cssLinkElement.async = true; - cssLinkElement.onload = cssLinkElement.onreadystatechange = function () { + cssLinkElement.onload = cssLinkElement.onreadystatechange = function (): void { if (!resolved && (!this.readyState || this.readyState === 'complete')) { resolved = true; resolve(this); @@ -450,15 +449,15 @@ const _Dom = { * @return {Promise} - The loading promise. * @public */ - loadScriptAsync(url: string): Promise<*> { + loadScriptAsync(url: string): Promise { return new Promise((resolve, reject) => { - let r = false, - t = document.getElementsByTagName('script')[0], - s = this.createElement('script'); + let r = false; + const t = document.getElementsByTagName('script')[0]; + const s = this.createElement('script'); s.type = 'text/javascript'; s.src = url; s.async = true; - s.onload = s.onreadystatechange = function () { + s.onload = s.onreadystatechange = function (): void { if (!r && (!this.readyState || this.readyState === 'complete')) { r = true; resolve(this); @@ -489,7 +488,7 @@ const _Dom = { * @param {?HTMLElement} existingChild - The child node to insert the new node before. If set to null, the insertBefore method will insert the newChild at the end. * @returns {Element} - The first element that matches a specified CSS selector(s) in the document. */ - insertBefore(parent: HTMLElement, newChild: HTMLElement, existingChild: ?HTMLElement): ?HTMLElement { + insertBefore(parent: HTMLElement, newChild: HTMLElement, existingChild: HTMLElement | null = null): HTMLElement | null { try { return parent.insertBefore(newChild, existingChild); } catch (e) { @@ -500,21 +499,14 @@ const _Dom = { const _Http = { protocol: /^(https?:)/i.test(document.location.protocol) ? document.location.protocol : 'https:', - execute: function ( - url: string, - params: any, - method: string = 'POST', - headers?: Map, - timeout?: number, - ontimeout?: Function - ): Promise { - let request = new XMLHttpRequest(); + execute: function (url: string, params: any, method: string = 'POST', headers?: Map, timeout?: number, ontimeout?: (...args: any[]) => any): Promise { + const request = new XMLHttpRequest(); return new Promise((resolve, reject) => { - request.onreadystatechange = function () { + request.onreadystatechange = function (): void { if (request.readyState === 4) { if (request.status === 200) { try { - let jsonResponse = JSON.parse(request.responseText); + const jsonResponse = JSON.parse(request.responseText); resolve(jsonResponse); } catch (e) { resolve(request.responseText); @@ -534,7 +526,7 @@ const _Http = { request.timeout = timeout; } if (ontimeout) { - request.ontimeout = e => { + request.ontimeout = (e): void => { ontimeout(); reject(e); }; @@ -543,15 +535,15 @@ const _Http = { }); }, jsonp, - convertHeadersToDictionary: function (headerRow: string): {[header: string]: string} { - let headerMap = {}; + convertHeadersToDictionary: function (headerRow: string): { [header: string]: string } { + const headerMap = {}; try { // Convert the header string into an array of individual headers const arr = headerRow.trim().split(/[\r\n]+/); - // Create a map of header names to values - arr.forEach(function (line) { + arr.forEach((line) => { const parts = line.split(': '); + // @ts-expect-error - Object is possibly 'undefined' const header = parts.shift().toLowerCase(); const value = parts.join(': '); headerMap[header] = value; @@ -582,19 +574,19 @@ const _VERSION = { * - NaN if either version string is in the wrong format */ - compare: function (v1: string, v2: string, options: Object = {}) { - options = _Object.merge([{lexicographical: false, zeroExtend: true}, options]); + compare: function (v1: string, v2: string, options: any = {}): number { + options = _Object.merge([{ lexicographical: false, zeroExtend: true }, options]); const lexicographical = options.lexicographical; const zeroExtend = options.zeroExtend; - let v1parts = (v1 || '0').split('.'); - let v2parts = (v2 || '0').split('.'); + let v1parts: (string | number)[] = (v1 || '0').split('.'); + let v2parts: (string | number)[] = (v2 || '0').split('.'); - const isValidPart = x => { + const isValidPart = (x): boolean => { return (lexicographical ? /^\d+[A-Za-zαß]*$/ : /^\d+[A-Za-zαß]?$/).test(x); }; - const mapParts = (parts: Array) => { - return parts.map(x => { + const mapParts = (parts: Array): number[] => { + return parts.map((x) => { const match = /[A-Za-zαß]/.exec(x); return Number(match ? x.replace(match[0], '.' + x.charCodeAt(match.index)) : x); }); @@ -610,8 +602,8 @@ const _VERSION = { } if (!lexicographical) { - v1parts = mapParts(v1parts); - v2parts = mapParts(v2parts); + v1parts = mapParts(v1parts as string[]); + v2parts = mapParts(v2parts as string[]); } for (let i = 0; i < v1parts.length; ++i) { @@ -638,4 +630,4 @@ const _VERSION = { } }; -export {_Number as Number, _String as String, _Object as Object, _Generator as Generator, _Dom as Dom, _Http as Http, _VERSION as VERSION}; +export { _Number as Number, _String as String, _Object as Object, _Generator as Generator, _Dom as Dom, _Http as Http, _VERSION as VERSION }; diff --git a/test/.eslintrc.json b/test/.eslintrc.json deleted file mode 100644 index cb6d86561..000000000 --- a/test/.eslintrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "rules": { - "flowtype/no-types-missing-file-annotation": "off", - "require-jsdoc": "off", - "valid-jsdoc": "off", - "mocha-no-only/mocha-no-only": ["error"] - } -} diff --git a/test/setup/karma.js b/test/setup/karma.js deleted file mode 100644 index adc4d402b..000000000 --- a/test/setup/karma.js +++ /dev/null @@ -1,5 +0,0 @@ -import prepareTestEnvironment from './prepare-test-environment'; -import loadSpecs from './load-specs'; - -prepareTestEnvironment(); -loadSpecs(); diff --git a/test/setup/load-specs.js b/test/setup/load-specs.js deleted file mode 100644 index d67921a75..000000000 --- a/test/setup/load-specs.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @returns {void} - */ -export function loadSpecs() { - const context = require.context('../src/', true, /\.spec\.js$/); - for (const key of context.keys()) { - describe(key, () => { - context(key); - }); - } -} - -export default loadSpecs; diff --git a/test/setup/prepare-test-environment.js b/test/setup/prepare-test-environment.js deleted file mode 100644 index 7c32fc3d4..000000000 --- a/test/setup/prepare-test-environment.js +++ /dev/null @@ -1,15 +0,0 @@ -import {should, use} from 'chai'; -import sinonChai from 'sinon-chai'; -import sinon from 'sinon/pkg/sinon'; -import * as chaiAsPromised from 'chai-as-promised'; -/** - * @returns {void} - */ -export function prepareTestEnvironment() { - should(); - use(sinonChai); - use(chaiAsPromised); - global.sinon = sinon; -} - -export default prepareTestEnvironment; diff --git a/tests/.eslintrc b/tests/.eslintrc new file mode 100644 index 000000000..9ed2a93b9 --- /dev/null +++ b/tests/.eslintrc @@ -0,0 +1,23 @@ +{ + "extends": [ + "plugin:mocha/recommended" + ], + "plugins": [ + "mocha" + ], + "globals": { + "sinon": true, + "__VERSION__": true, + "__NAME__": true + }, + "rules": { + "mocha/max-top-level-suites": "off", + "mocha/no-skipped-tests": "off", + "mocha/no-setup-in-describe": "off", + "mocha/no-nested-tests": "off", + "mocha/no-sibling-hooks": "off", + "mocha/no-exclusive-tests": "error", + "mocha/no-mocha-arrows": "off", + "max-len": ["warn", { "code": 50000 }] + } +} \ No newline at end of file diff --git a/test/src/assets/00000002.jpg b/tests/assets/00000002.jpg similarity index 100% rename from test/src/assets/00000002.jpg rename to tests/assets/00000002.jpg diff --git a/test/src/assets/00000003.jpg b/tests/assets/00000003.jpg similarity index 100% rename from test/src/assets/00000003.jpg rename to tests/assets/00000003.jpg diff --git a/test/src/assets/00000004.jpg b/tests/assets/00000004.jpg similarity index 100% rename from test/src/assets/00000004.jpg rename to tests/assets/00000004.jpg diff --git a/test/src/assets/00000005.jpg b/tests/assets/00000005.jpg similarity index 100% rename from test/src/assets/00000005.jpg rename to tests/assets/00000005.jpg diff --git a/test/src/assets/00000006.jpg b/tests/assets/00000006.jpg similarity index 100% rename from test/src/assets/00000006.jpg rename to tests/assets/00000006.jpg diff --git a/test/src/assets/00000007.jpg b/tests/assets/00000007.jpg similarity index 100% rename from test/src/assets/00000007.jpg rename to tests/assets/00000007.jpg diff --git a/test/src/assets/audios.mp4 b/tests/assets/audios.mp4 similarity index 100% rename from test/src/assets/audios.mp4 rename to tests/assets/audios.mp4 diff --git a/test/src/assets/bbb-sprite.jpeg b/tests/assets/bbb-sprite.jpeg similarity index 100% rename from test/src/assets/bbb-sprite.jpeg rename to tests/assets/bbb-sprite.jpeg diff --git a/test/src/assets/en.vtt b/tests/assets/en.vtt similarity index 100% rename from test/src/assets/en.vtt rename to tests/assets/en.vtt diff --git a/test/src/assets/he.vtt b/tests/assets/he.vtt similarity index 100% rename from test/src/assets/he.vtt rename to tests/assets/he.vtt diff --git a/test/src/assets/mov_bbb.mp4 b/tests/assets/mov_bbb.mp4 similarity index 100% rename from test/src/assets/mov_bbb.mp4 rename to tests/assets/mov_bbb.mp4 diff --git a/test/src/assets/thumbnails1.vtt b/tests/assets/thumbnails1.vtt similarity index 100% rename from test/src/assets/thumbnails1.vtt rename to tests/assets/thumbnails1.vtt diff --git a/test/src/assets/thumbnails2.vtt b/tests/assets/thumbnails2.vtt similarity index 100% rename from test/src/assets/thumbnails2.vtt rename to tests/assets/thumbnails2.vtt diff --git a/test/src/assets/thumbnails3.vtt b/tests/assets/thumbnails3.vtt similarity index 100% rename from test/src/assets/thumbnails3.vtt rename to tests/assets/thumbnails3.vtt diff --git a/test/src/configs/external-captions.json b/tests/configs/external-captions.json similarity index 100% rename from test/src/configs/external-captions.json rename to tests/configs/external-captions.json diff --git a/test/src/configs/sources.json b/tests/configs/sources.json similarity index 89% rename from test/src/configs/sources.json rename to tests/configs/sources.json index a23b7e986..b8da33ffd 100644 --- a/test/src/configs/sources.json +++ b/tests/configs/sources.json @@ -11,7 +11,7 @@ "progressive": [ { "mimetype": "video/mp4", - "url": "/base/test/src/assets/audios.mp4", + "url": "/base/tests/assets/audios.mp4", "id": "1_rsrdfext_10081,url" } ] @@ -20,7 +20,7 @@ "progressive": [ { "mimetype": "video/mp4", - "url": "/base/test/src/assets/audios.mp4", + "url": "/base/tests/assets/audios.mp4", "id": "id1", "width": 200, "height": 100, @@ -29,7 +29,7 @@ }, { "mimetype": "video/mp4", - "url": "/base/test/src/assets/mov_bbb.mp4", + "url": "/base/tests/assets/mov_bbb.mp4", "id": "id2", "width": 100, "height": 50, diff --git a/test/src/dimensions.spec.js b/tests/e2e/dimensions.spec.js similarity index 97% rename from test/src/dimensions.spec.js rename to tests/e2e/dimensions.spec.js index 96b3f2133..493dd6e01 100644 --- a/test/src/dimensions.spec.js +++ b/tests/e2e/dimensions.spec.js @@ -1,7 +1,7 @@ -import {createElement, getConfigStructure, removeElement, removeVideoElementsFromTestPage} from './utils/test-utils'; +import {createElement, getConfigStructure, removeElement, removeVideoElementsFromTestPage} from '../utils/test-utils'; import Player from '../../src/player'; import {Object as PKObject} from '../../src/utils'; -import SourcesConfig from './configs/sources.json'; +import SourcesConfig from '../configs/sources.json'; const targetId = 'player-placeholder_dimensions.spec'; const sourcesConfig = PKObject.copyDeep(SourcesConfig); diff --git a/test/src/drm/drm-scheme.spec.js b/tests/e2e/drm/drm-scheme.spec.js similarity index 100% rename from test/src/drm/drm-scheme.spec.js rename to tests/e2e/drm/drm-scheme.spec.js diff --git a/test/src/drm/fairplay.spec.js b/tests/e2e/drm/fairplay.spec.js similarity index 100% rename from test/src/drm/fairplay.spec.js rename to tests/e2e/drm/fairplay.spec.js diff --git a/test/src/engines/dropped-frames-watcher.spec.js b/tests/e2e/engines/dropped-frames-watcher.spec.js similarity index 98% rename from test/src/engines/dropped-frames-watcher.spec.js rename to tests/e2e/engines/dropped-frames-watcher.spec.js index 5ff05ef30..13e13f582 100644 --- a/test/src/engines/dropped-frames-watcher.spec.js +++ b/tests/e2e/engines/dropped-frames-watcher.spec.js @@ -1,7 +1,7 @@ import {DroppedFramesWatcher} from '../../../src/engines/dropped-frames-watcher'; import {FakeDashAdapter, FakeHlsAdapter} from './html5/media-source/adapters/test-adapters/test-adapters'; import {CustomEventType} from '../../../src/event/event-type'; -import FakeEvent from '../../../src/event/fake-event'; +import { FakeEvent } from '../../../src/event/fake-event'; describe('constructor', function () { let videoElement, sandbox, config; diff --git a/test/src/engines/engine-deorator.spec.js b/tests/e2e/engines/engine-deorator.spec.js similarity index 98% rename from test/src/engines/engine-deorator.spec.js rename to tests/e2e/engines/engine-deorator.spec.js index 2b4edd7fb..351f21ddd 100644 --- a/test/src/engines/engine-deorator.spec.js +++ b/tests/e2e/engines/engine-deorator.spec.js @@ -1,7 +1,7 @@ import {FakeDecoratorProvider, FakeDecoratorProviderActive, FakeHTML5Engine} from './test-engine-decorator-providers'; import {EngineDecorator} from '../../../src/engines/engine-decorator'; import Player from '../../../src/player'; -import {createElement, getConfigStructure} from '../utils/test-utils'; +import {createElement, getConfigStructure} from '../../utils/test-utils'; import {EngineDecoratorManager} from '../../../src/engines/engine-decorator-manager'; describe('EngineDecorator', () => { diff --git a/test/src/engines/engine-provider.spec.js b/tests/e2e/engines/engine-provider.spec.js similarity index 100% rename from test/src/engines/engine-provider.spec.js rename to tests/e2e/engines/engine-provider.spec.js diff --git a/test/src/engines/html5/html5.spec.js b/tests/e2e/engines/html5/html5.spec.js similarity index 97% rename from test/src/engines/html5/html5.spec.js rename to tests/e2e/engines/html5/html5.spec.js index ce23130ed..17efe13bd 100644 --- a/test/src/engines/html5/html5.spec.js +++ b/tests/e2e/engines/html5/html5.spec.js @@ -1,6 +1,6 @@ import Html5 from '../../../../src/engines/html5/html5'; import BaseMediaSourceAdapter from '../../../../src/engines/html5/media-source/base-media-source-adapter'; -import sourcesConfig from '../../configs/sources.json'; +import sourcesConfig from '../../../configs/sources.json'; import {DroppedFramesWatcher} from '../../../../src/engines/dropped-frames-watcher'; import {Html5EventType} from '../../../../src/event/event-type'; @@ -120,7 +120,7 @@ describe('Html5', () => { eventMgrSpy.should.have.been.calledOnce; engine._el.src.should.be.empty; (engine._mediaSourceAdapter === null).should.be.equal(true); - (engine._droppedFramesWatcher === null).should.be.equal(true); + (engine._droppedFramesWatcher === undefined).should.be.equal(true); mediaSourceAdapterSpy.should.have.been.calledOnce; droppedFramesWatcherSpy.should.have.been.calledOnce; engine._init(hlsSource, config); diff --git a/test/src/engines/html5/media-source/adapters/fairplay-drm-handler.spec.js b/tests/e2e/engines/html5/media-source/adapters/fairplay-drm-handler.spec.js similarity index 99% rename from test/src/engines/html5/media-source/adapters/fairplay-drm-handler.spec.js rename to tests/e2e/engines/html5/media-source/adapters/fairplay-drm-handler.spec.js index ca48f5fc8..aed0b4647 100644 --- a/test/src/engines/html5/media-source/adapters/fairplay-drm-handler.spec.js +++ b/tests/e2e/engines/html5/media-source/adapters/fairplay-drm-handler.spec.js @@ -1,5 +1,5 @@ import {FairPlayDrmHandler} from '../../../../../../src/engines/html5/media-source/adapters/fairplay-drm-handler'; -import {createElement, removeVideoElementsFromTestPage} from '../../../../utils/test-utils'; +import {createElement, removeVideoElementsFromTestPage} from '../../../../../utils/test-utils'; import {Utils} from '../../../../../../src/playkit'; import Error from '../../../../../../src/error/error'; import {RequestType} from '../../../../../../src/enums/request-type'; diff --git a/test/src/engines/html5/media-source/adapters/native-adapter.spec.js b/tests/e2e/engines/html5/media-source/adapters/native-adapter.spec.js similarity index 99% rename from test/src/engines/html5/media-source/adapters/native-adapter.spec.js rename to tests/e2e/engines/html5/media-source/adapters/native-adapter.spec.js index cb703df99..f3e1f72e0 100644 --- a/test/src/engines/html5/media-source/adapters/native-adapter.spec.js +++ b/tests/e2e/engines/html5/media-source/adapters/native-adapter.spec.js @@ -3,8 +3,8 @@ import VideoTrack from '../../../../../../src/track/video-track'; import AudioTrack from '../../../../../../src/track/audio-track'; import TextTrack from '../../../../../../src/track/text-track'; import {RequestType} from '../../../../../../src/enums/request-type'; -import {removeVideoElementsFromTestPage} from '../../../../utils/test-utils'; -import sourcesConfig from '../../../../configs/sources.json'; +import {removeVideoElementsFromTestPage} from '../../../../../utils/test-utils'; +import sourcesConfig from '../../../../../configs/sources.json'; import * as Utils from '../../../../../../src/utils/util'; import Env from '../../../../../../src/utils/env'; import {CustomEventType, Html5EventType} from '../../../../../../src/event/event-type'; diff --git a/test/src/engines/html5/media-source/adapters/test-adapters/test-adapters.js b/tests/e2e/engines/html5/media-source/adapters/test-adapters/test-adapters.ts similarity index 90% rename from test/src/engines/html5/media-source/adapters/test-adapters/test-adapters.js rename to tests/e2e/engines/html5/media-source/adapters/test-adapters/test-adapters.ts index b288028fc..026cd0a79 100644 --- a/test/src/engines/html5/media-source/adapters/test-adapters/test-adapters.js +++ b/tests/e2e/engines/html5/media-source/adapters/test-adapters/test-adapters.ts @@ -1,4 +1,6 @@ -import FakeEventTarget from '../../../../../../../src/event/fake-event-target'; +import { FakeEventTarget } from '../../../../../../../src/event/fake-event-target'; +import {IMediaSourceAdapter} from '../../../../../../../src/types'; +import {PKDrmConfigObject} from '../../../../../../../lib/types'; class FakeNativeAdapter implements IMediaSourceAdapter { static get id() { diff --git a/test/src/engines/html5/media-source/media-source-provider.spec.js b/tests/e2e/engines/html5/media-source/media-source-provider.spec.js similarity index 100% rename from test/src/engines/html5/media-source/media-source-provider.spec.js rename to tests/e2e/engines/html5/media-source/media-source-provider.spec.js diff --git a/test/src/engines/test-engine-decorator-providers.js b/tests/e2e/engines/test-engine-decorator-providers.ts similarity index 83% rename from test/src/engines/test-engine-decorator-providers.js rename to tests/e2e/engines/test-engine-decorator-providers.ts index 938c90b99..4a2e8e3ba 100644 --- a/test/src/engines/test-engine-decorator-providers.js +++ b/tests/e2e/engines/test-engine-decorator-providers.ts @@ -1,11 +1,12 @@ -import type {IEngine, IEngineDecorator} from '../../../flow-typed/interfaces/engine'; -import FakeEventTarget from '../../../src/event/fake-event-target'; +// @ts-nocheck +import {IEngine, IEngineDecorator} from '../../../src/types'; +import { FakeEventTarget } from '../../../src/event/fake-event-target'; class FakeHTML5Engine extends FakeEventTarget implements IEngine { constructor() { super(); } - load(): Promise<*> { + load(): Promise { return Promise.resolve(this); } isAdaptiveBitrateEnabled() { @@ -38,7 +39,7 @@ const FakeDecoratorProviderActive = { _decorator: new (class EngineDecorator implements IEngineDecorator { constructor() {} - load(): Promise<*> { + load(): Promise { return Promise.resolve(this); } diff --git a/test/src/engines/test-engines.js b/tests/e2e/engines/test-engines.ts similarity index 82% rename from test/src/engines/test-engines.js rename to tests/e2e/engines/test-engines.ts index 655ed95ab..904f8581e 100644 --- a/test/src/engines/test-engines.js +++ b/tests/e2e/engines/test-engines.ts @@ -1,4 +1,4 @@ -import type {IEngine} from '../../../flow-typed/interfaces/engine'; +import {IEngine} from '../../../src/types'; class FakeHTML5Engine implements IEngine { static get id() { diff --git a/test/src/error/error.spec.js b/tests/e2e/error/error.spec.js similarity index 100% rename from test/src/error/error.spec.js rename to tests/e2e/error/error.spec.js diff --git a/test/src/event/event-manager.spec.js b/tests/e2e/event/event-manager.spec.js similarity index 94% rename from test/src/event/event-manager.spec.js rename to tests/e2e/event/event-manager.spec.js index 763ffd8c6..43cf9dba2 100644 --- a/test/src/event/event-manager.spec.js +++ b/tests/e2e/event/event-manager.spec.js @@ -1,5 +1,5 @@ -import FakeEventTarget from '../../../src/event/fake-event-target'; -import EventManager from '../../../src/event/event-manager'; +import { FakeEventTarget } from '../../../src/event/fake-event-target'; +import { EventManager } from '../../../src/event/event-manager'; class EventTarget extends FakeEventTarget {} diff --git a/test/src/fullscreen/fullscreen-controller.spec.js b/tests/e2e/fullscreen/fullscreen-controller.spec.js similarity index 95% rename from test/src/fullscreen/fullscreen-controller.spec.js rename to tests/e2e/fullscreen/fullscreen-controller.spec.js index 14ac85cb1..af2a2f571 100644 --- a/test/src/fullscreen/fullscreen-controller.spec.js +++ b/tests/e2e/fullscreen/fullscreen-controller.spec.js @@ -1,7 +1,7 @@ -import {createElement, removeElement} from '../utils/test-utils'; +import {createElement, removeElement} from '../../utils/test-utils'; import Player from '../../../src/player'; import {Object as PKObject} from '../../../src/utils/util'; -import SourcesConfig from '../configs/sources'; +import SourcesConfig from '../../configs/sources.json'; import {EngineProvider} from '../../../src/engines/engine-provider'; import Html5 from '../../../src/engines/html5/html5'; diff --git a/test/src/middleware/middleware.spec.js b/tests/e2e/middleware/middleware.spec.js similarity index 100% rename from test/src/middleware/middleware.spec.js rename to tests/e2e/middleware/middleware.spec.js diff --git a/test/src/middleware/playback-middleware.spec.js b/tests/e2e/middleware/playback-middleware.spec.js similarity index 100% rename from test/src/middleware/playback-middleware.spec.js rename to tests/e2e/middleware/playback-middleware.spec.js diff --git a/test/src/player.spec.js b/tests/e2e/player.spec.js similarity index 99% rename from test/src/player.spec.js rename to tests/e2e/player.spec.js index c0d7cb65f..3646e8a4c 100644 --- a/test/src/player.spec.js +++ b/tests/e2e/player.spec.js @@ -2,21 +2,21 @@ import TextStyle from '../../src/track/text-style'; import Player from '../../src/player'; import {StateType} from '../../src/state/state-type'; import {CustomEventType, Html5EventType} from '../../src/event/event-type'; -import SourcesConfig from './configs/sources.json'; -import ExternalCaption from './configs/external-captions.json'; +import SourcesConfig from '../configs/sources.json'; +import ExternalCaption from '../configs/external-captions.json'; import Track from '../../src/track/track'; import VideoTrack from '../../src/track/video-track'; import AudioTrack from '../../src/track/audio-track'; import TextTrack from '../../src/track/text-track'; import {createTextTrackCue, TimedMetadata} from '../../src/track/timed-metadata'; -import {createElement, getConfigStructure, removeElement, removeVideoElementsFromTestPage} from './utils/test-utils'; +import {createElement, getConfigStructure, removeElement, removeVideoElementsFromTestPage} from '../utils/test-utils'; import Locale from '../../src/utils/locale'; import Html5 from '../../src/engines/html5/html5'; import Error from '../../src/error/error'; import {Object as PKObject} from '../../src/utils/util'; import {LabelOptions} from '../../src/track/label-options'; import {EngineProvider} from '../../src/engines/engine-provider'; -import FakeEvent from '../../src/event/fake-event'; +import { FakeEvent } from '../../src/event/fake-event'; import Html5AutoPlayCapability from '../../src/engines/html5/capabilities/html5-autoplay'; import * as Utils from '../../src/utils/util'; import {TrackType} from '../../src/track/track-type'; @@ -3359,7 +3359,7 @@ describe('Player', function () { player._tracks.should.be.empty; player._engineType.should.be.empty; player._streamType.should.be.empty; - (player._readyPromise === null).should.be.true; + (player._readyPromise === undefined).should.be.true; player._firstPlay.should.be.true; }); diff --git a/test/src/state/state-manger.spec.js b/tests/e2e/state/state-manger.spec.js similarity index 100% rename from test/src/state/state-manger.spec.js rename to tests/e2e/state/state-manger.spec.js diff --git a/test/src/state/state.spec.js b/tests/e2e/state/state.spec.js similarity index 100% rename from test/src/state/state.spec.js rename to tests/e2e/state/state.spec.js diff --git a/test/src/state/states.spec.js b/tests/e2e/state/states.spec.js similarity index 100% rename from test/src/state/states.spec.js rename to tests/e2e/state/states.spec.js diff --git a/test/src/thumbnail/external-thumbnails-handler.spec.js b/tests/e2e/thumbnail/external-thumbnails-handler.spec.js similarity index 58% rename from test/src/thumbnail/external-thumbnails-handler.spec.js rename to tests/e2e/thumbnail/external-thumbnails-handler.spec.js index 92ca3857d..9a1f00026 100644 --- a/test/src/thumbnail/external-thumbnails-handler.spec.js +++ b/tests/e2e/thumbnail/external-thumbnails-handler.spec.js @@ -1,20 +1,19 @@ import {expect} from 'chai'; import {ExternalThumbnailsHandler} from '../../../src/thumbnail/external-thumbnails-handler'; import Error from '../../../src/error/error'; -import {ThumbnailInfo} from '../../../src/thumbnail/thumbnail-info'; -let externalThumbnailsHandler: ExternalThumbnailsHandler; +let externalThumbnailsHandler; const thumbnailsCues = [ - {startTime: 0, endTime: 5, imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 0, y: 0}}, - {startTime: 5, endTime: 10, imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 128, y: 0}}, - {startTime: 10, endTime: 15, imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 256, y: 0}}, - {startTime: 15, endTime: 20, imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 384, y: 0}}, - {startTime: 20, endTime: 25, imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 512, y: 0}}, - {startTime: 25, endTime: 30, imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 640, y: 0}}, - {startTime: 30, endTime: 35, imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 768, y: 0}}, - {startTime: 35, endTime: 40, imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 896, y: 0}}, - {startTime: 40, endTime: 45, imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 1024, y: 0}} + {startTime: 0, endTime: 5, imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 0, y: 0}}, + {startTime: 5, endTime: 10, imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 128, y: 0}}, + {startTime: 10, endTime: 15, imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 256, y: 0}}, + {startTime: 15, endTime: 20, imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 384, y: 0}}, + {startTime: 20, endTime: 25, imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 512, y: 0}}, + {startTime: 25, endTime: 30, imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 640, y: 0}}, + {startTime: 30, endTime: 35, imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 768, y: 0}}, + {startTime: 35, endTime: 40, imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 896, y: 0}}, + {startTime: 40, endTime: 45, imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 1024, y: 0}} ]; describe('ExternalThumbnailsHandler', () => { @@ -24,17 +23,17 @@ describe('ExternalThumbnailsHandler', () => { describe('_downloadAndParseCues', () => { it('should download and parse the vtt file- vtt with url options only', async () => { - await externalThumbnailsHandler._downloadAndParseCues({vttUrl: '/base/test/src/assets/thumbnails1.vtt'}); + await externalThumbnailsHandler._downloadAndParseCues({vttUrl: '/base/tests/assets/thumbnails1.vtt'}); expect(externalThumbnailsHandler._cues.length).equal(6); }); it('should download and parse the vtt file - vtt with size options only', async () => { - await externalThumbnailsHandler._downloadAndParseCues({vttUrl: '/base/test/src/assets/thumbnails2.vtt'}); + await externalThumbnailsHandler._downloadAndParseCues({vttUrl: '/base/tests/assets/thumbnails2.vtt'}); expect(externalThumbnailsHandler._cues.length).equal(5); }); it('should download and parse the vtt file - vtt with size and coords options', async () => { - await externalThumbnailsHandler._downloadAndParseCues({vttUrl: '/base/test/src/assets/thumbnails3.vtt'}); + await externalThumbnailsHandler._downloadAndParseCues({vttUrl: '/base/tests/assets/thumbnails3.vtt'}); expect(externalThumbnailsHandler._cues.length).equal(9); }); }); @@ -42,11 +41,11 @@ describe('ExternalThumbnailsHandler', () => { describe('_formatIntoThumbnailCues', () => { let time = 0; let x = -128; - const nativeVttCues: VTTCue[] = [...thumbnailsCues].map(() => { + const nativeVttCues = [...thumbnailsCues].map(() => { return new VTTCue(time, (time += 5), `bbb-sprite.jpeg#xywh=${(x += 128)},0,128,72`); }); - const thumbnailsConfig: PKExternalThumbnailsConfig = { - vttUrl: '/base/test/src/assets/thumbnails3.vtt' + const thumbnailsConfig = { + vttUrl: '/base/tests/assets/thumbnails3.vtt' }; it('should turn native vtt cues into thumbnails cues - valid cues', async () => { @@ -62,8 +61,8 @@ describe('ExternalThumbnailsHandler', () => { it('should throw an error - invalid url option', async () => { const invalidVttCues = [ - {startTime: 0, endTime: 5, imgUrl: 'base/test/src/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 0, y: 0}}, - {startTime: 5, endTime: 10, imgUrl: 'base/test/src/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 128, y: 0}} + {startTime: 0, endTime: 5, imgUrl: 'base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 0, y: 0}}, + {startTime: 5, endTime: 10, imgUrl: 'base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 128, y: 0}} ]; await expect(externalThumbnailsHandler._formatIntoThumbnailCues(invalidVttCues, thumbnailsConfig)).to.be.rejectedWith(new Error()); expect(externalThumbnailsHandler._cues.length).equal(0); @@ -71,17 +70,17 @@ describe('ExternalThumbnailsHandler', () => { }); describe('_extractCueMetadata', () => { - const thumbnailsConfig: PKExternalThumbnailsConfig = { - vttUrl: '/base/test/src/assets/thumbnails3.vtt' + const thumbnailsConfig = { + vttUrl: '/base/tests/assets/thumbnails3.vtt' }; it('should turn a vtt cue into a thumbnail cue - vtt cue with size and coords options', async () => { - const nativeVTTCue: VTTCue = new VTTCue(0, 5, 'bbb-sprite.jpeg#xywh=0,0,128,72'); - const actualParsedCue: ThumbnailInfo = await externalThumbnailsHandler._extractCueMetadata(nativeVTTCue, thumbnailsConfig); - const expectedParsedCue: ThumbnailInfo = { + const nativeVTTCue = new VTTCue(0, 5, 'bbb-sprite.jpeg#xywh=0,0,128,72'); + const actualParsedCue = await externalThumbnailsHandler._extractCueMetadata(nativeVTTCue, thumbnailsConfig); + const expectedParsedCue = { startTime: 0, endTime: 5, - imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', + imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: {width: 128, height: 72}, coordinates: {x: 0, y: 0} }; @@ -89,12 +88,12 @@ describe('ExternalThumbnailsHandler', () => { }); it('should turn a vtt cue into a thumbnail cue - vtt cue with size options only - (the size options should be ignored) and size and coordinates should be null', async () => { - const nativeVTTCue: VTTCue = new VTTCue(0, 5, 'bbb-sprite.jpeg#wh=128,72'); - const actualParsedCue: ThumbnailInfo = await externalThumbnailsHandler._extractCueMetadata(nativeVTTCue, thumbnailsConfig); - const expectedParsedCue: ThumbnailInfo = { + const nativeVTTCue = new VTTCue(0, 5, 'bbb-sprite.jpeg#wh=128,72'); + const actualParsedCue = await externalThumbnailsHandler._extractCueMetadata(nativeVTTCue, thumbnailsConfig); + const expectedParsedCue = { startTime: 0, endTime: 5, - imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', + imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: null, coordinates: null }; @@ -102,12 +101,12 @@ describe('ExternalThumbnailsHandler', () => { }); it('should turn a vtt cue into a thumbnail cue - vtt cue with url options only - the size options should be should be null', async () => { - const nativeVTTCue: VTTCue = new VTTCue(0, 5, 'bbb-sprite.jpeg#wh=128,72'); - const actualParsedCue: ThumbnailInfo = await externalThumbnailsHandler._extractCueMetadata(nativeVTTCue, thumbnailsConfig); - const expectedParsedCue: ThumbnailInfo = { + const nativeVTTCue = new VTTCue(0, 5, 'bbb-sprite.jpeg#wh=128,72'); + const actualParsedCue = await externalThumbnailsHandler._extractCueMetadata(nativeVTTCue, thumbnailsConfig); + const expectedParsedCue = { startTime: 0, endTime: 5, - imgUrl: '/base/test/src/assets/bbb-sprite.jpeg', + imgUrl: '/base/tests/assets/bbb-sprite.jpeg', size: null, coordinates: null }; @@ -115,7 +114,7 @@ describe('ExternalThumbnailsHandler', () => { }); it('should throw an error - invalid thumbnail cue format', () => { - const invalidVttThumbnailFormat: VTTCue = new VTTCue(0, 5, 'bbb-sprite.jpeg#xywh=0,128,72'); + const invalidVttThumbnailFormat = new VTTCue(0, 5, 'bbb-sprite.jpeg#xywh=0,128,72'); expect(() => externalThumbnailsHandler._extractCueMetadata(invalidVttThumbnailFormat, thumbnailsConfig)).to.throw(); }); }); diff --git a/test/src/track/external-captions-handler.spec.js b/tests/e2e/track/external-captions-handler.spec.js similarity index 97% rename from test/src/track/external-captions-handler.spec.js rename to tests/e2e/track/external-captions-handler.spec.js index 67f8b4e23..574d9b5be 100644 --- a/test/src/track/external-captions-handler.spec.js +++ b/tests/e2e/track/external-captions-handler.spec.js @@ -1,11 +1,11 @@ import {ExternalCaptionsHandler} from '../../../src/track/external-captions-handler'; import Player from '../../../src/player'; import TextTrack from '../../../src/track/text-track'; -import {createElement, getConfigStructure, removeElement, removeVideoElementsFromTestPage} from '../utils/test-utils'; +import {createElement, getConfigStructure, removeElement, removeVideoElementsFromTestPage} from '../../utils/test-utils'; import {Object} from '../../../src/utils/util'; -import SourcesConfig from '../configs/sources.json'; +import SourcesConfig from '../../configs/sources.json'; import {CustomEventType, Html5EventType} from '../../../src/event/event-type'; -import FakeEvent from '../../../src/event/fake-event'; +import { FakeEvent } from '../../../src/event/fake-event'; const targetId = 'player-placeholder_player.spec'; let sourcesConfig = Object.copyDeep(SourcesConfig); @@ -37,7 +37,7 @@ describe('ExternalCaptionsHandler', () => { it('should load a vtt file (type specified)', done => { externalCaptionsHandler._textTrackModel['en'] = { - url: '/base/test/src/assets/en.vtt', + url: '/base/tests/assets/en.vtt', type: 'vtt', cues: [] }; @@ -48,7 +48,7 @@ describe('ExternalCaptionsHandler', () => { it('should load a vtt file (type not specified)', done => { externalCaptionsHandler._textTrackModel['en'] = { - url: '/base/test/src/assets/en.vtt', + url: '/base/tests/assets/en.vtt', cues: [] }; externalCaptionsHandler._getCuesString(new TextTrack({language: 'en'})).then(() => { @@ -58,7 +58,7 @@ describe('ExternalCaptionsHandler', () => { it('should throw a reject when loading vtt file', done => { externalCaptionsHandler._textTrackModel['en'] = { - url: '/base/test/src/assets/doesnotexist.vtt', + url: '/base/tests/assets/doesnotexist.vtt', type: 'vtt', cues: [] }; @@ -74,7 +74,7 @@ describe('ExternalCaptionsHandler', () => { it('should throw a reject when loading not a vtt file', done => { externalCaptionsHandler._textTrackModel['en'] = { - url: '/base/test/src/assets/en.notvtt', + url: '/base/tests/assets/en.notvtt', type: 'notvtt', cues: [] }; @@ -115,7 +115,7 @@ describe('ExternalCaptionsHandler', () => { it('should load and parse a vtt cue string', done => { externalCaptionsHandler._textTrackModel['en'] = { - url: '/base/test/src/assets/en.vtt', + url: '/base/tests/assets/en.vtt', type: 'vtt', cues: [] }; @@ -187,7 +187,7 @@ describe('ExternalCaptionsHandler', () => { externalCaptionsHandler = new ExternalCaptionsHandler(player); playerContainer.appendChild(player.getView()); externalCaptionsHandler._textTrackModel['en'] = { - url: '/base/test/src/assets/en.vtt', + url: '/base/tests/assets/en.vtt', type: 'vtt', cues: [] }; @@ -459,7 +459,7 @@ describe('ExternalCaptionsHandler', () => { {startTime: 6, endTime: 7}, {startTime: 8, endTime: 9} ], - url: '/base/test/src/assets/en.vtt', + url: '/base/tests/assets/en.vtt', type: 'vtt' }; }); @@ -524,7 +524,7 @@ describe('ExternalCaptionsHandler', () => { {startTime: 6, endTime: 7}, {startTime: 8, endTime: 9} ], - url: '/base/test/src/assets/en.vtt', + url: '/base/tests/assets/en.vtt', type: 'vtt' }; }); diff --git a/test/src/track/timed-metadata.spec.js b/tests/e2e/track/timed-metadata.spec.js similarity index 100% rename from test/src/track/timed-metadata.spec.js rename to tests/e2e/track/timed-metadata.spec.js diff --git a/test/src/track/track.spec.js b/tests/e2e/track/track.spec.js similarity index 100% rename from test/src/track/track.spec.js rename to tests/e2e/track/track.spec.js diff --git a/test/src/utils/binary-search.spec.js b/tests/e2e/utils/binary-search.spec.js similarity index 100% rename from test/src/utils/binary-search.spec.js rename to tests/e2e/utils/binary-search.spec.js diff --git a/test/src/utils/logger.spec.js b/tests/e2e/utils/logger.spec.js similarity index 100% rename from test/src/utils/logger.spec.js rename to tests/e2e/utils/logger.spec.js diff --git a/test/src/utils/poster-manager.spec.js b/tests/e2e/utils/poster-manager.spec.js similarity index 100% rename from test/src/utils/poster-manager.spec.js rename to tests/e2e/utils/poster-manager.spec.js diff --git a/test/src/utils/resize-watcher.spec.js b/tests/e2e/utils/resize-watcher.spec.js similarity index 97% rename from test/src/utils/resize-watcher.spec.js rename to tests/e2e/utils/resize-watcher.spec.js index ea1330a9d..b729aa3bd 100644 --- a/test/src/utils/resize-watcher.spec.js +++ b/tests/e2e/utils/resize-watcher.spec.js @@ -1,4 +1,4 @@ -import {ResizeWatcher} from '../../../src/utils/resize-watcher'; +import {ResizeWatcher} from '../../../src/utils'; describe('ResizeWatcher', () => { let rw; diff --git a/test/src/utils/resolution.spec.js b/tests/e2e/utils/resolution.spec.js similarity index 100% rename from test/src/utils/resolution.spec.js rename to tests/e2e/utils/resolution.spec.js diff --git a/test/src/utils/util.spec.js b/tests/e2e/utils/util.spec.js similarity index 100% rename from test/src/utils/util.spec.js rename to tests/e2e/utils/util.spec.js diff --git a/tests/index.js b/tests/index.js new file mode 100644 index 000000000..9c7f50c4a --- /dev/null +++ b/tests/index.js @@ -0,0 +1,12 @@ +import { should, use } from 'chai'; +import sinonChai from 'sinon-chai'; +import sinon from 'sinon/pkg/sinon-esm'; +import * as chaiAsPromised from 'chai-as-promised'; + +should(); +use(sinonChai); +use(chaiAsPromised); +global.sinon = sinon; + +const testsContext = require.context('./e2e', true); +testsContext.keys().forEach(testsContext); diff --git a/test/src/utils/test-utils.js b/tests/utils/test-utils.js similarity index 100% rename from test/src/utils/test-utils.js rename to tests/utils/test-utils.js diff --git a/tsconfig-lib.json b/tsconfig-lib.json new file mode 100644 index 000000000..48c2c30d6 --- /dev/null +++ b/tsconfig-lib.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "emitDeclarationOnly": true, + "declaration": true, + "declarationMap": true, + }, + "include": ["src/**/*", "./src/types/global/*.d.ts"], + "exclude": ["node_modules", "dist/**/*", "demo/libs/**/*"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..b6c74031b --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "ESNext", + "baseUrl": ".", + "sourceMap": true, + "moduleResolution": "Node", + "strict": false, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "skipLibCheck": true, + "types": [], + "lib": [ + "dom", + "ESNext" + ], + "outDir": "./lib/", + "allowSyntheticDefaultImports": true, + }, + "include": ["src/**/*"] +} diff --git a/webpack.config.js b/webpack.config.js index e39c563e2..803a89f6f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,74 +1,65 @@ -'use strict'; - const webpack = require('webpack'); const path = require('path'); const packageData = require('./package.json'); +const TerserPlugin = require('terser-webpack-plugin'); -let plugins = [ - new webpack.DefinePlugin({ - __VERSION__: JSON.stringify(packageData.version), - __NAME__: JSON.stringify(packageData.name) - }) -]; - -module.exports = { - context: __dirname + '/src', - entry: { - playkit: 'playkit.js' - }, - output: { - path: __dirname + '/dist', - filename: '[name].js', - library: ['playkit', 'core'], - libraryTarget: 'umd', - umdNamedDefine: true, - devtoolModuleFilenameTemplate: './core/[resource-path]' - }, - devtool: 'source-map', - plugins: plugins, - module: { - rules: [ - { - test: /\.js$/, - use: [ - { - loader: 'babel-loader' - } - ], - exclude: [/node_modules/] - }, - { - test: /\.js$/, - exclude: [/node_modules/], - enforce: 'pre', - use: [ - { - loader: 'eslint-loader', +module.exports = (env, { mode }) => { + return { + entry: './src/playkit.ts', + devtool: 'source-map', + module: { + rules: [ + { + test: /\.(ts|js)$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', options: { - rules: { - semi: 0 - } + presets: [ + [ + '@babel/preset-env', + { + bugfixes: true, + } + ], + '@babel/preset-typescript' + ], + plugins: [['@babel/plugin-transform-runtime']] } } - ] + }, + { + test: /\.css$/i, + use: ['style-loader', 'css-loader'] + } + ] + }, + resolve: { + extensions: ['.ts', '.js'] + }, + output: { + filename: 'playkit.js', + path: path.resolve(__dirname, 'dist'), + library: { + umdNamedDefine: true, + name: ['playkit', 'core'], + type: 'umd' }, - { - test: /\.css$/, - use: [ - { - loader: 'style-loader' - }, - { - loader: 'css-loader' - } - ] + clean: true + }, + devServer: { + static: { + directory: path.join(__dirname, 'demo') + }, + client: { + progress: true } + }, + plugins: [ + new webpack.DefinePlugin({ + __VERSION__: JSON.stringify(packageData.version), + __NAME__: JSON.stringify(packageData.name) + }) ] - }, - devServer: { - contentBase: __dirname + '/src' - }, - resolve: { - modules: [path.resolve(__dirname, 'src'), 'node_modules'] - } + }; }; diff --git a/yarn.lock b/yarn.lock index 0ac124b76..49a21e661 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,504 +2,315 @@ # yarn lockfile v1 -"@babel/cli@^7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.10.5.tgz#57df2987c8cf89d0fc7d4b157ec59d7619f1b77a" - integrity sha512-j9H9qSf3kLdM0Ao3aGPbGZ73mEA9XazuupcS6cDGWuiyAcANoguhP0r2Lx32H5JGw4sSSoHG3x/mxVnHgvOoyA== - dependencies: - commander "^4.0.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^1.1.0" - glob "^7.0.0" - lodash "^4.17.19" - make-dir "^2.1.0" - slash "^2.0.0" - source-map "^0.5.0" - optionalDependencies: - chokidar "^2.1.8" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/compat-data@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.5.tgz#d38425e67ea96b1480a3f50404d1bf85676301a6" - integrity sha512-mPVoWNzIpYJHbWje0if7Ck36bpbtTvIxOi9+6WSK9wjGEXearAqlwBoTQvVjsAY2VIwgcs8V940geY3okzRCEw== - dependencies: - browserslist "^4.12.0" - invariant "^2.2.4" - semver "^5.5.0" - -"@babel/core@^7.10.5", "@babel/core@^7.7.5", "@babel/core@^7.9.0": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.5.tgz#1f15e2cca8ad9a1d78a38ddba612f5e7cdbbd330" - integrity sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.5" - "@babel/helper-module-transforms" "^7.10.5" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.10.5" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.5" - "@babel/types" "^7.10.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.10.5", "@babel/generator@^7.9.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.5.tgz#1b903554bc8c583ee8d25f1e8969732e6b829a69" - integrity sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig== - dependencies: - "@babel/types" "^7.10.5" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" - integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" - integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-builder-react-jsx-experimental@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.10.5.tgz#f35e956a19955ff08c1258e44a515a6d6248646b" - integrity sha512-Buewnx6M4ttG+NLkKyt7baQn7ScC/Td+e99G914fRU8fGIUivDDgVIQeDHFa5e4CRSJQt58WpNHhsAZgtzVhsg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" - "@babel/types" "^7.10.5" - -"@babel/helper-builder-react-jsx@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d" - integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-compilation-targets@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2" - integrity sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ== - dependencies: - "@babel/compat-data" "^7.10.4" - browserslist "^4.12.0" - invariant "^2.2.4" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" - integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.10.5" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - -"@babel/helper-create-regexp-features-plugin@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" - integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - regexpu-core "^4.7.0" - -"@babel/helper-define-map@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" - integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/types" "^7.10.5" - lodash "^4.17.19" - -"@babel/helper-explode-assignable-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c" - integrity sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A== - dependencies: - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-hoist-variables@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" - integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz#172f56e7a63e78112f3a04055f24365af702e7ee" - integrity sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA== - dependencies: - "@babel/types" "^7.10.5" - -"@babel/helper-module-imports@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" - integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz#120c271c0b3353673fcdfd8c053db3c544a260d6" - integrity sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.5" - lodash "^4.17.19" +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" -"@babel/helper-regex@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" - integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== dependencies: - lodash "^4.17.19" + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" -"@babel/helper-remap-async-to-generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5" - integrity sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" + integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== + +"@babel/core@^7.22.20": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" + integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helpers" "^7.23.2" + "@babel/parser" "^7.23.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== + dependencies: + "@babel/types" "^7.23.0" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" -"@babel/helper-replace-supers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" - integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/types" "^7.22.5" -"@babel/helper-simple-access@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" - integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== dependencies: - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/types" "^7.22.15" -"@babel/helper-split-export-declaration@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1" - integrity sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg== +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/helper-wrap-function@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" - integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug== + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" + integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz#a71c10f7146d809f4a256c373f462d9bba8cf6ba" + integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug== dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" -"@babel/helpers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" - integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" +"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== +"@babel/helper-member-expression-to-functions@^7.22.15": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" + integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" + integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@7.10.2": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.2.tgz#871807f10442b92ff97e4783b9b54f6a0ca812d0" - integrity sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ== - -"@babel/parser@^7.10.4", "@babel/parser@^7.10.5", "@babel/parser@^7.7.0": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.5.tgz#e7c6bf5a7deff957cec9f04b551e2762909d826b" - integrity sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ== - -"@babel/plugin-proposal-async-generator-functions@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" - integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" - integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-decorators@^7.8.3": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz#42898bba478bc4b1ae242a703a953a7ad350ffb4" - integrity sha512-Sc5TAQSZuLzgY0664mMDn24Vw2P8g/VhyLyGPaWiHahhgLqeZvcGeyBZOrJW0oSKIK2mvQ22a1ENXBIQLhrEiQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-decorators" "^7.10.4" - -"@babel/plugin-proposal-do-expressions@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.10.4.tgz#9a5190f3bf4818f83e41d673ee517ff76cf8e4ed" - integrity sha512-Gcc2wLVeMceRdP6m9tdDygP01lbUVmaQGBRoIRJZxzPfB5VTiUgmn1jGfORgqbEVgUpG0IQm/z4q5Y/qzG+8JQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-do-expressions" "^7.10.4" - -"@babel/plugin-proposal-dynamic-import@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e" - integrity sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-export-default-from@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.10.4.tgz#08f66eef0067cbf6a7bc036977dcdccecaf0c6c5" - integrity sha512-G1l00VvDZ7Yk2yRlC5D8Ybvu3gmeHS3rCHoUYdjrqGYUtdeOBoRypnvDZ5KQqxyaiiGHWnVDeSEzA5F9ozItig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-export-default-from" "^7.10.4" - -"@babel/plugin-proposal-export-namespace-from@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54" - integrity sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-function-bind@^7.8.3": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.10.5.tgz#62acbdde1c43e7dfae6efc9ddd5bc60920cee719" - integrity sha512-1lYbE2ynV9yN0LCEYCdEBD5pR6GaNkRfjn1z1tWDdWMJgunTFcJBZDJUgiMPcTMqAc3D6Vrm8v2khxjjx6FrCg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-function-bind" "^7.10.4" - -"@babel/plugin-proposal-function-sent@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.10.4.tgz#05f2daef7b3f09b6c74c9e8a85b430272d206ac4" - integrity sha512-aBtve/DhQsVPAGnSDcgt33gF36rO0TK+KtHp9Hwtj3KwH+o1Cii9vfVVYeB9c6Jo1SXOgTRwRD7ljpTS0qbN8w== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/plugin-syntax-function-sent" "^7.10.4" - -"@babel/plugin-proposal-json-strings@^7.10.4", "@babel/plugin-proposal-json-strings@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db" - integrity sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.10.4.tgz#e62b5cf38e494d6cc24683e2a26cba4a28f7ea44" - integrity sha512-gyZd+5BZdK3rTpLCw0cTXUESWywH4wvugdzuUYkDKhtP0Obkp2ebZZzVE24UhVOb47vTDNwbUzQpei9psxYj6A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a" - integrity sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@^7.10.4", "@babel/plugin-proposal-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06" - integrity sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz#50129ac216b9a6a55b3853fdd923e74bf553a4c0" - integrity sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.10.4" - -"@babel/plugin-proposal-optional-catch-binding@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd" - integrity sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.10.4", "@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz#750f1255e930a1f82d8cdde45031f81a0d0adff7" - integrity sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-pipeline-operator@^7.8.3": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.10.5.tgz#0fa2871dbfb74efe19eeb17722032056cb5697f3" - integrity sha512-tCpZ46KUAHgFoXsH593k9sX/ZKsNb4NlTGNif8PdlmkGbtYdbTQi6zNv8yibpRf+3sQFElOBLyNo3I5ZwVu90g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-pipeline-operator" "^7.10.4" +"@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== -"@babel/plugin-proposal-private-methods@^7.10.4", "@babel/plugin-proposal-private-methods@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" - integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" + integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-proposal-throw-expressions@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.10.4.tgz#501154a3c1b33cb1ad5b899204481fa2859cd3f3" - integrity sha512-m7K9duXeH/rko36i9G9seLOg2AVdeVTn65k8nnTxgozex0hkDSUr6cktJxTO7jElGEpmMz410pTs0Jn8+empxw== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f" + integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-throw-expressions" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.22.15" -"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" - integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-syntax-async-generators@^7.8.0": +"@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" - integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-decorators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz#6853085b2c429f9d322d02f5a635018cdeb2360c" - integrity sha512-2NaoC6fAk2VMdhY1eerkfHV+lVYC1u8b+jmRJISqANCJlTxYy19HGdIkkQtix2UtkcPuPu+IlDgrVseZnU03bw== +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-do-expressions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.10.4.tgz#0c7ebb749500c6bfa99a9f926db3bfd6cdbaded9" - integrity sha512-HyvaTg1aiwGo2I+Pu0nyurRMjIP7J89GpuZ2mcQ0fhO6Jt3BnyhEPbNJFG1hRE99NAPNfPYh93/7HO+GPVkTKg== +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": +"@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.10.4.tgz#e5494f95006355c10292a0ff1ce42a5746002ec8" - integrity sha512-79V6r6Pgudz0RnuMGp5xidu6Z+bPFugh8/Q9eDHonmLp4wKFAZDwygJwYgCzuDu8lFA/sYyT+mc5y2wkd7bTXA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" @@ -507,47 +318,40 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz#53351dd7ae01995e567d04ce42af1a6e0ba846a6" - integrity sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-function-bind@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.10.4.tgz#8378d94f3185ddd3008310c15fe0991cb0c85151" - integrity sha512-vF/K9yS0dpPNlT7mXSGhbdpb2f4DaLa/AYYbUqlxOggAug/oseIR1+LgAzwci4iJNlqWNmJ7aQ+llUMYjn9uhw== +"@babel/plugin-syntax-import-assertions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" + integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-function-sent@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.10.4.tgz#b551f38b629e2e20908e53624f96f9ab300f5061" - integrity sha512-dwElaRoDQhlVevbgKOlEUTe08QNJo4ZjWw3rqnMbEvH8NRJM+iPN2tTQtzyfNloXD8f3Jdiyf5Pn400B1U3SVA== +"@babel/plugin-syntax-import-attributes@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" + integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-json-strings@^7.8.0": +"@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c" - integrity sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g== +"@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" @@ -556,7 +360,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== @@ -570,769 +374,1332 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.0": +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0": +"@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-pipeline-operator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.10.4.tgz#31bf327cf780dd60e0444fd98561119795247a6c" - integrity sha512-QOmXevisZebt9pBkMdDdXWg+fndB8dT/puwSKKu/1K3P4oBwmydN/4dX1hdrNvPHbw4xE+ocIoEus7c4eh7Igg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" + integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-generator-functions@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz#054afe290d64c6f576f371ccc321772c8ea87ebb" + integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" + integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + +"@babel/plugin-transform-block-scoped-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" + integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" + integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" + integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974" + integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" + integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" -"@babel/plugin-syntax-throw-expressions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.10.4.tgz#a588df9fa2203207a3ac7e35f0db3b67bf68eca3" - integrity sha512-Yac/4W71+JdAiOV3aLbnUUe2R0NZzNvdy5EqdauFnBQTxIXT58M89lOplIFVELTSus6PxFMjmbi2vXaJDiV/PQ== +"@babel/plugin-transform-computed-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" + integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.5" -"@babel/plugin-syntax-top-level-await@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d" - integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ== +"@babel/plugin-transform-destructuring@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" + integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-arrow-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd" - integrity sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA== +"@babel/plugin-transform-dotall-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" + integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-async-to-generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" - integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ== +"@babel/plugin-transform-duplicate-keys@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" + integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoped-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8" - integrity sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA== +"@babel/plugin-transform-dynamic-import@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa" + integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-block-scoping@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz#b81b8aafefbfe68f0f65f7ef397b9ece68a6037d" - integrity sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg== +"@babel/plugin-transform-exponentiation-operator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" + integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-classes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" - integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA== +"@babel/plugin-transform-export-namespace-from@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c" + integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-define-map" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - globals "^11.1.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-computed-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb" - integrity sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw== +"@babel/plugin-transform-for-of@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" + integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-destructuring@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5" - integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA== +"@babel/plugin-transform-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" + integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" - integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA== +"@babel/plugin-transform-json-strings@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835" + integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-duplicate-keys@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47" - integrity sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA== +"@babel/plugin-transform-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" + integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-exponentiation-operator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e" - integrity sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw== +"@babel/plugin-transform-logical-assignment-operators@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c" + integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-flow-strip-types@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz#c497957f09e86e3df7296271e9eb642876bf7788" - integrity sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ== +"@babel/plugin-transform-member-expression-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" + integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-flow" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-for-of@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" - integrity sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ== +"@babel/plugin-transform-modules-amd@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88" + integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7" - integrity sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg== +"@babel/plugin-transform-modules-commonjs@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" + integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c" - integrity sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ== +"@babel/plugin-transform-modules-systemjs@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160" + integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" -"@babel/plugin-transform-member-expression-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7" - integrity sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw== +"@babel/plugin-transform-modules-umd@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" + integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" - integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== dependencies: - "@babel/helper-module-transforms" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-commonjs@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" - integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w== +"@babel/plugin-transform-new-target@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" + integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== dependencies: - "@babel/helper-module-transforms" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85" - integrity sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw== +"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc" + integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== dependencies: - "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-modules-umd@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" - integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA== +"@babel/plugin-transform-numeric-separator@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd" + integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== dependencies: - "@babel/helper-module-transforms" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" - integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA== +"@babel/plugin-transform-object-rest-spread@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f" + integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.22.15" + +"@babel/plugin-transform-object-super@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" + integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + +"@babel/plugin-transform-optional-catch-binding@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0" + integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - -"@babel/plugin-transform-new-target@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888" - integrity sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw== + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" + integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-object-super@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" - integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ== +"@babel/plugin-transform-parameters@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" + integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - -"@babel/plugin-transform-parameters@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a" - integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw== + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" + integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-property-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0" - integrity sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g== + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1" + integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-react-display-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz#b5795f4e3e3140419c3611b7a2a3832b9aef328d" - integrity sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw== +"@babel/plugin-transform-property-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" + integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-react-jsx-development@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.10.4.tgz#6ec90f244394604623880e15ebc3c34c356258ba" - integrity sha512-RM3ZAd1sU1iQ7rI2dhrZRZGv0aqzNQMbkIUCS1txYpi9wHQ2ZHNjo5TwX+UD6pvFW4AbWqLVYvKy5qJSAyRGjQ== + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca" + integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== dependencies: - "@babel/helper-builder-react-jsx-experimental" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx" "^7.10.4" - -"@babel/plugin-transform-react-jsx-self@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369" - integrity sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg== + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" + integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-runtime@^7.22.15": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz#c956a3f8d1aa50816ff6c30c6288d66635c12990" + integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" + integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" + integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" + integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" + integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" + integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typescript@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127" + integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9" + integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" + integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" + integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" + integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.22.20": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.2.tgz#1f22be0ff0e121113260337dbc3e58fafce8d059" + integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ== + dependencies: + "@babel/compat-data" "^7.23.2" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.15" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.15" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.22.5" + "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.22.5" + "@babel/plugin-transform-async-generator-functions" "^7.23.2" + "@babel/plugin-transform-async-to-generator" "^7.22.5" + "@babel/plugin-transform-block-scoped-functions" "^7.22.5" + "@babel/plugin-transform-block-scoping" "^7.23.0" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-class-static-block" "^7.22.11" + "@babel/plugin-transform-classes" "^7.22.15" + "@babel/plugin-transform-computed-properties" "^7.22.5" + "@babel/plugin-transform-destructuring" "^7.23.0" + "@babel/plugin-transform-dotall-regex" "^7.22.5" + "@babel/plugin-transform-duplicate-keys" "^7.22.5" + "@babel/plugin-transform-dynamic-import" "^7.22.11" + "@babel/plugin-transform-exponentiation-operator" "^7.22.5" + "@babel/plugin-transform-export-namespace-from" "^7.22.11" + "@babel/plugin-transform-for-of" "^7.22.15" + "@babel/plugin-transform-function-name" "^7.22.5" + "@babel/plugin-transform-json-strings" "^7.22.11" + "@babel/plugin-transform-literals" "^7.22.5" + "@babel/plugin-transform-logical-assignment-operators" "^7.22.11" + "@babel/plugin-transform-member-expression-literals" "^7.22.5" + "@babel/plugin-transform-modules-amd" "^7.23.0" + "@babel/plugin-transform-modules-commonjs" "^7.23.0" + "@babel/plugin-transform-modules-systemjs" "^7.23.0" + "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.22.5" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.11" + "@babel/plugin-transform-numeric-separator" "^7.22.11" + "@babel/plugin-transform-object-rest-spread" "^7.22.15" + "@babel/plugin-transform-object-super" "^7.22.5" + "@babel/plugin-transform-optional-catch-binding" "^7.22.11" + "@babel/plugin-transform-optional-chaining" "^7.23.0" + "@babel/plugin-transform-parameters" "^7.22.15" + "@babel/plugin-transform-private-methods" "^7.22.5" + "@babel/plugin-transform-private-property-in-object" "^7.22.11" + "@babel/plugin-transform-property-literals" "^7.22.5" + "@babel/plugin-transform-regenerator" "^7.22.10" + "@babel/plugin-transform-reserved-words" "^7.22.5" + "@babel/plugin-transform-shorthand-properties" "^7.22.5" + "@babel/plugin-transform-spread" "^7.22.5" + "@babel/plugin-transform-sticky-regex" "^7.22.5" + "@babel/plugin-transform-template-literals" "^7.22.5" + "@babel/plugin-transform-typeof-symbol" "^7.22.5" + "@babel/plugin-transform-unicode-escapes" "^7.22.10" + "@babel/plugin-transform-unicode-property-regex" "^7.22.5" + "@babel/plugin-transform-unicode-regex" "^7.22.5" + "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/preset-modules" "0.1.6-no-external-plugins" + "@babel/types" "^7.23.0" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx" "^7.10.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" -"@babel/plugin-transform-react-jsx-source@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz#34f1779117520a779c054f2cdd9680435b9222b4" - integrity sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx" "^7.10.4" +"@babel/preset-typescript@^7.22.15": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4" + integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.23.0" + "@babel/plugin-transform-typescript" "^7.22.15" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.23.1", "@babel/runtime@^7.8.4": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.0" + "@babel/types" "^7.23.0" + debug "^4.1.0" + globals "^11.1.0" -"@babel/plugin-transform-react-jsx@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2" - integrity sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A== +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.4.4": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== dependencies: - "@babel/helper-builder-react-jsx" "^7.10.4" - "@babel/helper-builder-react-jsx-experimental" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx" "^7.10.4" + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" -"@babel/plugin-transform-react-pure-annotations@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.4.tgz#3eefbb73db94afbc075f097523e445354a1c6501" - integrity sha512-+njZkqcOuS8RaPakrnR9KvxjoG1ASJWpoIv/doyWngId88JoFlPlISenGXjrVacZUIALGUr6eodRs1vmPnF23A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@babel/plugin-transform-regenerator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" - integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw== - dependencies: - regenerator-transform "^0.14.2" +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@babel/plugin-transform-reserved-words@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" - integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ== +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + eslint-visitor-keys "^3.3.0" -"@babel/plugin-transform-shorthand-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" - integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== -"@babel/plugin-transform-spread@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz#4e2c85ea0d6abaee1b24dcfbbae426fe8d674cff" - integrity sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ== +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== + +"@humanwhocodes/config-array@^0.11.13": + version "0.11.13" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" + integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== + dependencies: + "@humanwhocodes/object-schema" "^2.0.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" + integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== + +"@hutson/parse-repository-url@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" + integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" -"@babel/plugin-transform-sticky-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" - integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ== +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-regex" "^7.10.4" + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@babel/plugin-transform-template-literals@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" - integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw== +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" -"@babel/plugin-transform-typeof-symbol@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" - integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA== +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@microsoft/api-extractor-model@7.28.2": + version "7.28.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.28.2.tgz#91c66dd820ccc70e0c163e06b392d8363f1b9269" + integrity sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig== + dependencies: + "@microsoft/tsdoc" "0.14.2" + "@microsoft/tsdoc-config" "~0.16.1" + "@rushstack/node-core-library" "3.61.0" + +"@microsoft/api-extractor@^7.38.0": + version "7.38.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.38.0.tgz#e72546d6766b3866578a462b040f71b17779e1c5" + integrity sha512-e1LhZYnfw+JEebuY2bzhw0imDCl1nwjSThTrQqBXl40hrVo6xm3j/1EpUr89QyzgjqmAwek2ZkIVZbrhaR+cqg== + dependencies: + "@microsoft/api-extractor-model" "7.28.2" + "@microsoft/tsdoc" "0.14.2" + "@microsoft/tsdoc-config" "~0.16.1" + "@rushstack/node-core-library" "3.61.0" + "@rushstack/rig-package" "0.5.1" + "@rushstack/ts-command-line" "4.16.1" + colors "~1.2.1" + lodash "~4.17.15" + resolve "~1.22.1" + semver "~7.5.4" + source-map "~0.6.1" + typescript "~5.0.4" + +"@microsoft/tsdoc-config@~0.16.1": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz#b786bb4ead00d54f53839a458ce626c8548d3adf" + integrity sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@microsoft/tsdoc" "0.14.2" + ajv "~6.12.6" + jju "~1.4.0" + resolve "~1.19.0" -"@babel/plugin-transform-unicode-escapes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" - integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg== +"@microsoft/tsdoc@0.14.2": + version "0.14.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" + integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" -"@babel/plugin-transform-unicode-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" - integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A== +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" -"@babel/preset-env@^7.10.4", "@babel/preset-env@^7.9.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.10.4.tgz#fbf57f9a803afd97f4f32e4f798bb62e4b2bef5f" - integrity sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw== +"@playkit-js/browserslist-config@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@playkit-js/browserslist-config/-/browserslist-config-1.0.5.tgz#7d4a7f7b087caa2620d9f89263a05bd4a0af99a4" + integrity sha512-aEx7S4nW1XakhTtx01Use7viuuZ61ho6FeL6iHtZMpclsjEPYf0N8jQt9e3aDBKhaZZ8pKl5250hI4pjWWBfAA== + +"@rushstack/node-core-library@3.61.0": + version "3.61.0" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.61.0.tgz#7441a0d2ae5268b758a7a49588a78cd55af57e66" + integrity sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ== + dependencies: + colors "~1.2.1" + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.22.1" + semver "~7.5.4" + z-schema "~5.0.2" + +"@rushstack/rig-package@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.5.1.tgz#6c9c283cc96b5bb1eae9875946d974ac5429bb21" + integrity sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA== dependencies: - "@babel/compat-data" "^7.10.4" - "@babel/helper-compilation-targets" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-proposal-async-generator-functions" "^7.10.4" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/plugin-proposal-dynamic-import" "^7.10.4" - "@babel/plugin-proposal-json-strings" "^7.10.4" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" - "@babel/plugin-proposal-numeric-separator" "^7.10.4" - "@babel/plugin-proposal-object-rest-spread" "^7.10.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" - "@babel/plugin-proposal-optional-chaining" "^7.10.4" - "@babel/plugin-proposal-private-methods" "^7.10.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.10.4" - "@babel/plugin-transform-arrow-functions" "^7.10.4" - "@babel/plugin-transform-async-to-generator" "^7.10.4" - "@babel/plugin-transform-block-scoped-functions" "^7.10.4" - "@babel/plugin-transform-block-scoping" "^7.10.4" - "@babel/plugin-transform-classes" "^7.10.4" - "@babel/plugin-transform-computed-properties" "^7.10.4" - "@babel/plugin-transform-destructuring" "^7.10.4" - "@babel/plugin-transform-dotall-regex" "^7.10.4" - "@babel/plugin-transform-duplicate-keys" "^7.10.4" - "@babel/plugin-transform-exponentiation-operator" "^7.10.4" - "@babel/plugin-transform-for-of" "^7.10.4" - "@babel/plugin-transform-function-name" "^7.10.4" - "@babel/plugin-transform-literals" "^7.10.4" - "@babel/plugin-transform-member-expression-literals" "^7.10.4" - "@babel/plugin-transform-modules-amd" "^7.10.4" - "@babel/plugin-transform-modules-commonjs" "^7.10.4" - "@babel/plugin-transform-modules-systemjs" "^7.10.4" - "@babel/plugin-transform-modules-umd" "^7.10.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" - "@babel/plugin-transform-new-target" "^7.10.4" - "@babel/plugin-transform-object-super" "^7.10.4" - "@babel/plugin-transform-parameters" "^7.10.4" - "@babel/plugin-transform-property-literals" "^7.10.4" - "@babel/plugin-transform-regenerator" "^7.10.4" - "@babel/plugin-transform-reserved-words" "^7.10.4" - "@babel/plugin-transform-shorthand-properties" "^7.10.4" - "@babel/plugin-transform-spread" "^7.10.4" - "@babel/plugin-transform-sticky-regex" "^7.10.4" - "@babel/plugin-transform-template-literals" "^7.10.4" - "@babel/plugin-transform-typeof-symbol" "^7.10.4" - "@babel/plugin-transform-unicode-escapes" "^7.10.4" - "@babel/plugin-transform-unicode-regex" "^7.10.4" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.10.4" - browserslist "^4.12.0" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/preset-flow@^7.10.4", "@babel/preset-flow@^7.9.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.10.4.tgz#e0d9c72f8cb02d1633f6a5b7b16763aa2edf659f" - integrity sha512-XI6l1CptQCOBv+ZKYwynyswhtOKwpZZp5n0LG1QKCo8erRhqjoQV6nvx61Eg30JHpysWQSBwA2AWRU3pBbSY5g== + resolve "~1.22.1" + strip-json-comments "~3.1.1" + +"@rushstack/ts-command-line@4.16.1": + version "4.16.1" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.16.1.tgz#3537bbc323f77c8646646465c579b992d39feb16" + integrity sha512-+OCsD553GYVLEmz12yiFjMOzuPeCiZ3f8wTiFHL30ZVXexTyPmgjwXEhg2K2P0a2lVf+8YBy7WtPoflB2Fp8/A== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-flow-strip-types" "^7.10.4" + "@types/argparse" "1.0.38" + argparse "~1.0.9" + colors "~1.2.1" + string-argv "~0.3.1" -"@babel/preset-modules@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" - integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== +"@sinonjs/commons@^1.7.0": + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" + type-detect "4.0.8" -"@babel/preset-react@^7.9.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.10.4.tgz#92e8a66d816f9911d11d4cc935be67adfc82dbcf" - integrity sha512-BrHp4TgOIy4M19JAfO1LhycVXOPWdDbTRep7eVyatf174Hff+6Uk53sDyajqZPu8W1qXRBiYOfIamek6jA7YVw== +"@sinonjs/commons@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" + integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-react-display-name" "^7.10.4" - "@babel/plugin-transform-react-jsx" "^7.10.4" - "@babel/plugin-transform-react-jsx-development" "^7.10.4" - "@babel/plugin-transform-react-jsx-self" "^7.10.4" - "@babel/plugin-transform-react-jsx-source" "^7.10.4" - "@babel/plugin-transform-react-pure-annotations" "^7.10.4" - -"@babel/preset-stage-0@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.8.3.tgz#b6a0eca1a3b72e07f9caf58f998e97568028f6f5" - integrity sha512-+l6FlG1j73t4wh78W41StbcCz0/9a1/y+vxfnjtHl060kSmcgMfGzK9MEkLvrCOXfhp9RCX+d88sm6rOqxEIEQ== + type-detect "4.0.8" -"@babel/register@^7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.10.5.tgz#354f3574895f1307f79efe37a51525e52fd38d89" - integrity sha512-eYHdLv43nyvmPn9bfNfrcC4+iYNwdQ8Pxk1MFJuU/U5LpSYl/PH4dFMazCYZDFVi8ueG3shvO+AQfLrxpYulQw== +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== dependencies: - find-cache-dir "^2.0.0" - lodash "^4.17.19" - make-dir "^2.1.0" - pirates "^4.0.0" - source-map-support "^0.5.16" + type-detect "4.0.8" -"@babel/runtime@^7.8.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.5.tgz#303d8bd440ecd5a491eae6117fd3367698674c5c" - integrity sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg== +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== dependencies: - regenerator-runtime "^0.13.4" + "@sinonjs/commons" "^3.0.0" -"@babel/template@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/traverse@^7.10.4", "@babel/traverse@^7.10.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.5.tgz#77ce464f5b258be265af618d8fddf0536f20b564" - integrity sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.5" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - "@babel/parser" "^7.10.5" - "@babel/types" "^7.10.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" +"@sinonjs/fake-timers@^9.1.2": + version "9.1.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" + integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== + dependencies: + "@sinonjs/commons" "^1.7.0" -"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.5.tgz#d88ae7e2fde86bfbfe851d4d81afa70a997b5d15" - integrity sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q== +"@sinonjs/samsam@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-7.0.1.tgz#5b5fa31c554636f78308439d220986b9523fc51f" + integrity sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw== dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" + "@sinonjs/commons" "^2.0.0" + lodash.get "^4.4.2" + type-detect "^4.0.8" -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== +"@sinonjs/text-encoding@^0.7.1": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" + integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== + +"@socket.io/component-emitter@~3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" + integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== + +"@types/argparse@1.0.38": + version "1.0.38" + resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" + integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== + +"@types/body-parser@*": + version "1.19.4" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.4.tgz#78ad68f1f79eb851aa3634db0c7f57f6f601b462" + integrity sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA== 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" + "@types/connect" "*" + "@types/node" "*" -"@istanbuljs/schema@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== +"@types/bonjour@^3.5.9": + version "3.5.12" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.12.tgz#49badafb988e6c433ca675a5fd769b93b7649fc8" + integrity sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg== + dependencies: + "@types/node" "*" -"@sindresorhus/is@^0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" - integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== +"@types/chai@^4.3.3": + version "4.3.9" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.9.tgz#144d762491967db8c6dea38e03d2206c2623feec" + integrity sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg== -"@sinonjs/commons@^1", "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.7.2": - version "1.8.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" - integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz#acf51e088b3bb6507f7b093bd2b0de20940179cc" + integrity sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q== dependencies: - type-detect "4.0.8" + "@types/express-serve-static-core" "*" + "@types/node" "*" -"@sinonjs/fake-timers@^6.0.0", "@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== +"@types/connect@*": + version "3.4.37" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.37.tgz#c66a96689fd3127c8772eb3e9e5c6028ec1a9af5" + integrity sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q== dependencies: - "@sinonjs/commons" "^1.7.0" + "@types/node" "*" -"@sinonjs/formatio@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-5.0.1.tgz#f13e713cb3313b1ab965901b01b0828ea6b77089" - integrity sha512-KaiQ5pBf1MpS09MuA0kp6KBQt2JUOQycqVG1NZXvzeaXe5LGFqAKueIS0bw4w0P9r7KuBSVdUk5QjXsUdu2CxQ== +"@types/cookie@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" + integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== + +"@types/cors@^2.8.12": + version "2.8.15" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.15.tgz#eb143aa2f8807ddd78e83cbff141bbedd91b60ee" + integrity sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw== dependencies: - "@sinonjs/commons" "^1" - "@sinonjs/samsam" "^5.0.2" + "@types/node" "*" -"@sinonjs/samsam@^5.0.2", "@sinonjs/samsam@^5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-5.0.3.tgz#86f21bdb3d52480faf0892a480c9906aa5a52938" - integrity sha512-QucHkc2uMJ0pFGjJUDP3F9dq5dx8QIaqISl9QgwLOh6P9yv877uONPGXh/OH/0zmM3tW1JjuJltAZV2l7zU+uQ== +"@types/eslint-scope@^3.7.3": + version "3.7.6" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.6.tgz#585578b368ed170e67de8aae7b93f54a1b2fdc26" + integrity sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ== dependencies: - "@sinonjs/commons" "^1.6.0" - lodash.get "^4.4.2" - type-detect "^4.0.8" + "@types/eslint" "*" + "@types/estree" "*" -"@sinonjs/text-encoding@^0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" - integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== +"@types/eslint@*": + version "8.44.6" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.6.tgz#60e564551966dd255f4c01c459f0b4fb87068603" + integrity sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.3.tgz#2be19e759a3dd18c79f9f436bd7363556c1a73dd" + integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ== -"@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.39" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz#2107afc0a4b035e6cb00accac3bdf2d76ae408c8" + integrity sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ== dependencies: - "@types/minimatch" "*" "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.20" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.20.tgz#e7c9b40276d29e38a4e3564d7a3d65911e2aa433" + integrity sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/http-errors@*": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.3.tgz#c54e61f79b3947d040f150abd58f71efb422ff62" + integrity sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA== -"@types/json-schema@^7.0.4": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" - integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== +"@types/http-proxy@^1.17.8": + version "1.17.13" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.13.tgz#dd3a4da550580eb0557d4c7128a2ff1d1a38d465" + integrity sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw== + dependencies: + "@types/node" "*" -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= +"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.14" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.14.tgz#74a97a5573980802f32c8e47b663530ab3b6b7d1" + integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== -"@types/minimatch@*": +"@types/mime@*": version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.3.tgz#886674659ce55fe7c6c06ec5ca7c0eb276a08f91" + integrity sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ== + +"@types/mime@^1": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.4.tgz#a4ed836e069491414bab92c31fdea9e557aca0d9" + integrity sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw== "@types/minimist@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" - integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.4.tgz#81f886786411c45bba3f33e781ab48bd56bfca2e" + integrity sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ== -"@types/node@*": - version "14.0.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.23.tgz#676fa0883450ed9da0bb24156213636290892806" - integrity sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw== +"@types/mocha@^9.1.1": + version "9.1.1" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4" + integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== +"@types/node-forge@^1.3.0": + version "1.3.8" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.8.tgz#044ad98354ff309a031a55a40ad122f3be1ac2bb" + integrity sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg== + dependencies: + "@types/node" "*" -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/node@*", "@types/node@>=10.0.0": + version "20.8.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.9.tgz#646390b4fab269abce59c308fc286dcd818a2b08" + integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg== + dependencies: + undici-types "~5.26.4" -"@types/unist@^2.0.0", "@types/unist@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" - integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== +"@types/normalize-package-data@^2.4.0": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz#291c243e4b94dbfbc0c0ee26b7666f1d5c030e2c" + integrity sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg== -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" +"@types/qs@*": + version "6.9.9" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.9.tgz#66f7b26288f6799d279edf13da7ccd40d2fa9197" + integrity sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg== -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== +"@types/range-parser@*": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.6.tgz#7cb33992049fd7340d5b10c0098e104184dfcd2a" + integrity sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA== -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== +"@types/semver@^7.5.0": + version "7.5.4" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.4.tgz#0a41252ad431c473158b22f9bfb9a63df7541cff" + integrity sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ== -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== +"@types/send@*": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.3.tgz#81b2ea5a3a18aad357405af2d643ccbe5a09020b" + integrity sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug== dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + "@types/mime" "^1" + "@types/node" "*" -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== +"@types/serve-index@^1.9.1": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.3.tgz#af9403916eb6fbf7d6ec6f47b2a4c46eb3222cc9" + integrity sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg== dependencies: - "@webassemblyjs/ast" "1.9.0" + "@types/express" "*" -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.4" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.4.tgz#44b5895a68ca637f06c229119e1c774ca88f81b2" + integrity sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== +"@types/sinon@^10.0.20": + version "10.0.20" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.20.tgz#f1585debf4c0d99f9938f4111e5479fb74865146" + integrity sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" + "@types/sinonjs__fake-timers" "*" -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== +"@types/sinonjs__fake-timers@*": + version "8.1.4" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.4.tgz#663bb44e01f6bae4eaae3719d8b037411217c992" + integrity sha512-GDV68H0mBSN449sa5HEj51E0wfpVQb8xNSMzxf/PrypMFcLTMwJMOM/cgXiv71Mq5drkOQmUGvL1okOZcu6RrQ== + +"@types/sockjs@^0.3.33": + version "0.3.35" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.35.tgz#f4a568c73d2a8071944bd6ffdca0d4e66810cd21" + integrity sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw== dependencies: - "@xtuc/ieee754" "^1.2.0" + "@types/node" "*" -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== +"@types/ua-parser-js@^0.7.38": + version "0.7.38" + resolved "https://registry.yarnpkg.com/@types/ua-parser-js/-/ua-parser-js-0.7.38.tgz#fd5eae721a4c4dd386d9ebab745a9306c8e71210" + integrity sha512-59CA5oavBEWSNLtS/BChj9xntiWMsIf9IytjxmBo9OuZEYuRzRf3K1ARzFPlXTOz5Zm2wXI38AP9RlLqDYMToQ== + +"@types/ws@^8.5.5": + version "8.5.8" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.8.tgz#13efec7bd439d0bdf2af93030804a94f163b1430" + integrity sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg== dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@^6.7.2": + version "6.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.0.tgz#fdb6f3821c0167e3356e9d89c80e8230b2e401f4" + integrity sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA== + dependencies: + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.9.0" + "@typescript-eslint/type-utils" "6.9.0" + "@typescript-eslint/utils" "6.9.0" + "@typescript-eslint/visitor-keys" "6.9.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@^6.7.2": + version "6.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.9.0.tgz#2b402cadeadd3f211c25820e5433413347b27391" + integrity sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw== + dependencies: + "@typescript-eslint/scope-manager" "6.9.0" + "@typescript-eslint/types" "6.9.0" + "@typescript-eslint/typescript-estree" "6.9.0" + "@typescript-eslint/visitor-keys" "6.9.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@6.9.0": + version "6.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.9.0.tgz#2626e9a7fe0e004c3e25f3b986c75f584431134e" + integrity sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw== + dependencies: + "@typescript-eslint/types" "6.9.0" + "@typescript-eslint/visitor-keys" "6.9.0" + +"@typescript-eslint/type-utils@6.9.0": + version "6.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.9.0.tgz#23923c8c9677c2ad41457cf8e10a5f2946be1b04" + integrity sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ== + dependencies: + "@typescript-eslint/typescript-estree" "6.9.0" + "@typescript-eslint/utils" "6.9.0" + debug "^4.3.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/types@6.9.0": + version "6.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.9.0.tgz#86a0cbe7ac46c0761429f928467ff3d92f841098" + integrity sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw== + +"@typescript-eslint/typescript-estree@6.9.0": + version "6.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.0.tgz#d0601b245be873d8fe49f3737f93f8662c8693d4" + integrity sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ== + dependencies: + "@typescript-eslint/types" "6.9.0" + "@typescript-eslint/visitor-keys" "6.9.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@6.9.0": + version "6.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.9.0.tgz#5bdac8604fca4823f090e4268e681c84d3597c9f" + integrity sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.9.0" + "@typescript-eslint/types" "6.9.0" + "@typescript-eslint/typescript-estree" "6.9.0" + semver "^7.5.4" + +"@typescript-eslint/visitor-keys@6.9.0": + version "6.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.0.tgz#cc69421c10c4ac997ed34f453027245988164e80" + integrity sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg== + dependencies: + "@typescript-eslint/types" "6.9.0" + eslint-visitor-keys "^3.4.1" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" + "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== + +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -1343,7 +1710,7 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -JSONStream@^1.0.3, JSONStream@^1.0.4: +JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== @@ -1351,196 +1718,133 @@ JSONStream@^1.0.3, JSONStream@^1.0.4: jsonparse "^1.2.0" through ">=2.2.7 <3" -abbrev@1, abbrev@1.0.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" + mime-types "~2.1.34" + negotiator "0.6.3" -acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== - -acorn@^5.2.1: - version "5.7.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== - -acorn@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== - -acorn@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" - integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== - -after@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" - integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= - -aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" + ajv "^8.0.0" -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.1.tgz#b83ca89c5d42d69031f424cad49aada0236c6957" - integrity sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA== +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2: - version "6.12.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" - integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== +ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" +ajv@^8.0.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" -ansi-colors@4.1.1, ansi-colors@^4.1.1: +ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-escapes@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-html@0.0.7, ansi-html@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" -append-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" - integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= - dependencies: - buffer-equal "^1.0.0" - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" +argparse@~1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== -array-flatten@^2.1.0: +array-flatten@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== @@ -1548,571 +1852,187 @@ array-flatten@^2.1.0: array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= - -array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - is-string "^1.0.5" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - -array.prototype.flat@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -array.prototype.map@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec" - integrity sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.4" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== -arraybuffer.slice@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" - integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== assertion-error@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - -async@1.x, async@^1.4.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== +babel-loader@^9.1.3: + version "9.1.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== dependencies: - lodash "^4.17.14" - -atob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" -babel-eslint@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" - integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== +babel-plugin-polyfill-corejs2@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz#b2df0251d8e99f229a8e60fc4efa9a68b41c8313" + integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q== dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.3" + semver "^6.3.1" -babel-loader@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== +babel-plugin-polyfill-corejs3@^0.8.5: + version "0.8.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz#25c2d20002da91fe328ff89095c85a391d6856cf" + integrity sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ== dependencies: - find-cache-dir "^2.1.0" - loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" - schema-utils "^2.6.5" + "@babel/helper-define-polyfill-provider" "^0.4.3" + core-js-compat "^3.33.1" -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== +babel-plugin-polyfill-regenerator@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz#d4c49e4b44614607c13fb769bcd85c72bb26a4a5" + integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw== dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babelify@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/babelify/-/babelify-10.0.0.tgz#fe73b1a22583f06680d8d072e25a1e0d1d1d7fb5" - integrity sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg== - -backo2@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= - -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== - -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + "@babel/helper-define-polyfill-provider" "^0.4.3" balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64id@2.0.0: +base64id@2.0.0, base64id@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -better-assert@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" - integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI= - dependencies: - callsite "1.0.0" - -big.js@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -blob@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" - integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== - -bn.js@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" - integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -body-parser@1.19.0, body-parser@^1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== dependencies: - bytes "3.1.0" + bytes "3.1.2" content-type "~1.0.4" debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" -body@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" - integrity sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk= +body-parser@^1.19.0: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== dependencies: - continuable-cache "^0.3.1" - error "^7.0.0" - raw-body "~1.1.0" - safe-json-parse "~1.0.1" + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= +bonjour-service@^1.0.11: + version "1.1.1" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" + integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" + array-flatten "^2.1.2" dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -brace-expansion@^1.0.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" - dependencies: - balanced-match "^0.4.1" - concat-map "0.0.1" + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" + balanced-match "^1.0.0" -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: +braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-resolve@^1.7.0: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11" - integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.2" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.12.0, browserslist@^4.8.5: - version "4.13.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d" - integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ== +browserslist@^4.14.5, browserslist@^4.21.9, browserslist@^4.22.1: + version "4.22.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== dependencies: - caniuse-lite "^1.0.30001093" - electron-to-chromium "^1.3.488" - escalade "^3.0.1" - node-releases "^1.1.58" - -buffer-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" - integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" buffer-from@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-shims@^1.0.0, buffer-shims@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" - integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g= + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== -cacheable-request@^2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" - integrity sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0= - dependencies: - clone-response "1.0.2" - get-stream "3.0.0" - http-cache-semantics "3.8.1" - keyv "3.0.0" - lowercase-keys "1.0.0" - normalize-url "2.0.1" - responselike "1.0.2" - -cached-path-relative@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.2.tgz#a13df4196d26776220cc3356eb147a52dba2c6db" - integrity sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg== +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -callsite@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" - integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= +call-bind@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" - integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= - dependencies: - camelcase "^4.1.0" - map-obj "^2.0.0" - quick-lru "^1.0.0" - camelcase-keys@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" @@ -2122,45 +2042,20 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" - integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== - -caniuse-lite@^1.0.30001093: - version "1.0.30001103" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001103.tgz#fe81536d075b97cd013d4988c9212418faa289a8" - integrity sha512-EJkTPrZrgy712tjZ7GQDye5A67SQOyNS6X9b6GS/e5QFu5Renv5qfkx3GHq1S+vObxKzbWWYuPO/7nt4kYW/gA== - -ccount@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17" - integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw== + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" +caniuse-lite@^1.0.30001541: + version "1.0.30001558" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001558.tgz#d2c6e21fdbfe83817f70feab902421a19b7983ee" + integrity sha512-/Et7DwLqpjS47JPEcz6VnxU9PwcIdVi0ciLXRWBQdj1XFye68pSQYpV0QtPTfUKWuOaEig+/Vez2l74eDc1tPQ== chai-as-promised@^7.1.1: version "7.1.1" @@ -2169,219 +2064,71 @@ chai-as-promised@^7.1.1: dependencies: check-error "^1.0.2" -chai@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" - integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== +chai@^4.3.6: + version "4.3.10" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.10.tgz#d784cec635e3b7e2ffb66446a63b4e33bd390384" + integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== dependencies: assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^3.0.1" - get-func-name "^2.0.0" - pathval "^1.1.0" - type-detect "^4.0.5" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.0.8" -chalk@2.4.2, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.2: +chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + 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" -chalk@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.0.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" -character-entities-html4@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" - integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== - -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" - integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== - -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" - integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== - -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" - integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - -chokidar@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" - integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.3.0" - optionalDependencies: - fsevents "~2.1.2" - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== +check-error@^1.0.2, check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" + get-func-name "^2.0.2" -chokidar@^3.0.0, chokidar@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" - integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g== +chokidar@3.5.3, chokidar@^3.5.1, chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: - anymatch "~3.1.1" + anymatch "~3.1.2" braces "~3.0.2" - glob-parent "~5.1.0" + glob-parent "~5.1.2" is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.4.0" + readdirp "~3.6.0" optionalDependencies: - fsevents "~2.1.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + fsevents "~2.3.2" chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-truncate@2.1.0, cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + wrap-ansi "^7.0.0" clone-deep@^4.0.1: version "4.0.1" @@ -2392,54 +2139,12 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clone-response@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: - version "1.0.6" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" - integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: - color-name "^1.1.1" + color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" @@ -2448,51 +2153,40 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colors@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== +colorette@^2.0.10, colorette@^2.0.14: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +colors@~1.2.1: + version "1.2.5" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" + integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== -comma-separated-tokens@^1.0.1: - version "1.0.8" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" - integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== +commander@^10.0.0, commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - -compare-func@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.4.tgz#6b07c4c5e8341119baf44578085bda0f4a823516" - integrity sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q== - dependencies: - array-ify "^1.0.0" - dot-prop "^3.0.0" +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== compare-func@^2.0.0: version "2.0.0" @@ -2502,30 +2196,6 @@ compare-func@^2.0.0: array-ify "^1.0.0" dot-prop "^5.1.0" -compare-versions@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= - -component-emitter@1.2.1, component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - -component-emitter@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= - compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -2549,16 +2219,7 @@ compression@^1.7.4: concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@^1.5.0, concat-stream@^1.6.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^2.0.0: version "2.0.0" @@ -2570,19 +2231,10 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -concat-stream@~1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" - integrity sha1-cIl4Yk2FavQaWnQd790mHadSwmY= - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== connect@^3.7.0: version "3.7.0" @@ -2594,376 +2246,234 @@ connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== +conventional-changelog-angular@^5.0.12: + version "5.0.13" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== dependencies: - safe-buffer "5.1.2" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -continuable-cache@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" - integrity sha1-vXJ6f67XfnH/OYWskzUakSczrQ8= - -conventional-changelog-angular@^1.6.6: - version "1.6.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" - integrity sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg== - dependencies: - compare-func "^1.3.1" - q "^1.5.1" - -conventional-changelog-angular@^5.0.3: - version "5.0.10" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.10.tgz#5cf7b00dd315b6a6a558223c80d5ef24ddb34205" - integrity sha512-k7RPPRs0vp8+BtPsM9uDxRl6KcgqtCJmzRD1wRtgqmhQ96g8ifBGo9O/TZBG23jqlXS/rg8BKRDELxfnQQGiaA== - dependencies: - compare-func "^1.3.1" + compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-atom@^2.0.0, conventional-changelog-atom@^2.0.1: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.7.tgz#221575253a04f77a2fd273eb2bf29a138f710abf" - integrity sha512-7dOREZwzB+tCEMjRTDfen0OHwd7vPUdmU0llTy1eloZgtOP4iSLVzYIQqfmdRZEty+3w5Jz+AbhfTJKoKw1JeQ== +conventional-changelog-atom@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" + integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== dependencies: q "^1.5.1" -conventional-changelog-codemirror@^2.0.0, conventional-changelog-codemirror@^2.0.1: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.7.tgz#d6b6a8ce2707710c5a036e305037547fb9e15bfb" - integrity sha512-Oralk1kiagn3Gb5cR5BffenWjVu59t/viE6UMD/mQa1hISMPkMYhJIqX+CMeA1zXgVBO+YHQhhokEj99GP5xcg== +conventional-changelog-codemirror@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" + integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== dependencies: q "^1.5.1" -conventional-changelog-config-spec@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-config-spec/-/conventional-changelog-config-spec-1.0.0.tgz#fc17bf0ab7b7f2a6b0c91bccc1bd55819d3ee79e" - integrity sha512-RR3479x5Qw7XWkmNDYx/kOnsQJW+FZBIakURG/Dg7FkTaCrGjAkgfH96pQs9SyOEZI07USEXy7FjUDWYP8bt3Q== +conventional-changelog-config-spec@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz#874a635287ef8b581fd8558532bf655d4fb59f2d" + integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ== -conventional-changelog-conventionalcommits@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-3.0.2.tgz#3a380a14ecd6f5056da6d460e30dd6c0c9f1aebe" - integrity sha512-w1+fQSDnm/7+sPKIYC5nfRVYDszt+6HdWizrigSqWFVIiiBVzkHGeqDLMSHc+Qq9qssHVAxAak5206epZyK87A== +conventional-changelog-conventionalcommits@4.6.3, conventional-changelog-conventionalcommits@^4.5.0: + version "4.6.3" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz#0765490f56424b46f6cb4db9135902d6e5a36dc2" + integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== dependencies: - compare-func "^1.3.1" + compare-func "^2.0.0" + lodash "^4.17.15" q "^1.5.1" -conventional-changelog-core@^3.1.0, conventional-changelog-core@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb" - integrity sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ== +conventional-changelog-core@^4.2.1: + version "4.2.4" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" + integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== dependencies: - conventional-changelog-writer "^4.0.6" - conventional-commits-parser "^3.0.3" + add-stream "^1.0.0" + conventional-changelog-writer "^5.0.0" + conventional-commits-parser "^3.2.0" dateformat "^3.0.0" - get-pkg-repo "^1.0.0" - git-raw-commits "2.0.0" + get-pkg-repo "^4.0.0" + git-raw-commits "^2.0.8" git-remote-origin-url "^2.0.0" - git-semver-tags "^2.0.3" - lodash "^4.2.1" - normalize-package-data "^2.3.5" + git-semver-tags "^4.1.1" + lodash "^4.17.15" + normalize-package-data "^3.0.0" q "^1.5.1" read-pkg "^3.0.0" read-pkg-up "^3.0.0" - through2 "^3.0.0" + through2 "^4.0.0" -conventional-changelog-ember@^2.0.1, conventional-changelog-ember@^2.0.2: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.8.tgz#f0f04eb7ff3c885af97db100865ab95dcfa9917f" - integrity sha512-JEMEcUAMg4Q9yxD341OgWlESQ4gLqMWMXIWWUqoQU8yvTJlKnrvcui3wk9JvnZQyONwM2g1MKRZuAjKxr8hAXA== +conventional-changelog-ember@^2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" + integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== dependencies: q "^1.5.1" -conventional-changelog-eslint@^3.0.0, conventional-changelog-eslint@^3.0.2: - version "3.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.8.tgz#f8b952b7ed7253ea0ac0b30720bb381f4921b46c" - integrity sha512-5rTRltgWG7TpU1PqgKHMA/2ivjhrB+E+S7OCTvj0zM/QGg4vmnVH67Vq/EzvSNYtejhWC+OwzvDrLk3tqPry8A== +conventional-changelog-eslint@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" + integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== dependencies: q "^1.5.1" -conventional-changelog-express@^2.0.0, conventional-changelog-express@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.5.tgz#6e93705acdad374516ca125990012a48e710f8de" - integrity sha512-pW2hsjKG+xNx/Qjof8wYlAX/P61hT5gQ/2rZ2NsTpG+PgV7Rc8RCfITvC/zN9K8fj0QmV6dWmUefCteD9baEAw== +conventional-changelog-express@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" + integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== dependencies: q "^1.5.1" -conventional-changelog-jquery@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" - integrity sha1-Agg5cWLjhGmG5xJztsecW1+A9RA= - dependencies: - q "^1.4.1" - -conventional-changelog-jquery@^3.0.4: - version "3.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz#460236ad8fb1d29ff932a14fe4e3a45379b63c5e" - integrity sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA== +conventional-changelog-jquery@^3.0.11: + version "3.0.11" + resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" + integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== dependencies: q "^1.5.1" -conventional-changelog-jscs@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" - integrity sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw= - dependencies: - q "^1.4.1" - -conventional-changelog-jshint@^2.0.0: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.8.tgz#3fff4df8cb46037f77b9dc3f8e354c7f99332f13" - integrity sha512-hB/iI0IiZwnZ+seYI+qEQ4b+EMQSEC8jGIvhO2Vpz1E5p8FgLz75OX8oB1xJWl+s4xBMB6f8zJr0tC/BL7YOjw== +conventional-changelog-jshint@^2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" + integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== dependencies: compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-jshint@^2.0.1: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.7.tgz#955a69266951cd31e8afeb3f1c55e0517fdca943" - integrity sha512-qHA8rmwUnLiIxANJbz650+NVzqDIwNtc0TcpIa0+uekbmKHttidvQ1dGximU3vEDdoJVKFgR3TXFqYuZmYy9ZQ== - dependencies: - compare-func "^1.3.1" - q "^1.5.1" - -conventional-changelog-preset-loader@^2.0.1, conventional-changelog-preset-loader@^2.1.1: +conventional-changelog-preset-loader@^2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== -conventional-changelog-writer@^4.0.6: - version "4.0.16" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.16.tgz#ca10f2691a8ea6d3c2eb74bd35bcf40aa052dda5" - integrity sha512-jmU1sDJDZpm/dkuFxBeRXvyNcJQeKhGtVcFFkwTphUAzyYWcwz2j36Wcv+Mv2hU3tpvLMkysOPXJTLO55AUrYQ== +conventional-changelog-writer@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" + integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== dependencies: - compare-func "^1.3.1" - conventional-commits-filter "^2.0.6" + conventional-commits-filter "^2.0.7" dateformat "^3.0.0" - handlebars "^4.7.6" + handlebars "^4.7.7" json-stringify-safe "^5.0.1" lodash "^4.17.15" - meow "^7.0.0" + meow "^8.0.0" semver "^6.0.0" split "^1.0.0" - through2 "^3.0.0" - -conventional-changelog@3.1.8: - version "3.1.8" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.8.tgz#091382b5a0820bf8ec8e75ad2664a3688c31b07d" - integrity sha512-fb3/DOLLrQdNqN0yYn/lT6HcNsAa9A+VTDBqlZBMQcEPPIeJIMI+DBs3yu+eiYOLi22w9oShq3nn/zN6qm1Hmw== - dependencies: - conventional-changelog-angular "^5.0.3" - conventional-changelog-atom "^2.0.1" - conventional-changelog-codemirror "^2.0.1" - conventional-changelog-conventionalcommits "^3.0.2" - conventional-changelog-core "^3.2.2" - conventional-changelog-ember "^2.0.2" - conventional-changelog-eslint "^3.0.2" - conventional-changelog-express "^2.0.1" - conventional-changelog-jquery "^3.0.4" - conventional-changelog-jshint "^2.0.1" - conventional-changelog-preset-loader "^2.1.1" - -conventional-changelog@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-2.0.3.tgz#779cff582c0091d2b24574003eaa82ef5ddf653d" - integrity sha512-4bcII9cJHSKb2qi9e8qGF6aJHLf/AB0dokhyR+X6QILTMl77s4l163vK+reXhajvfOYbbHQvsrWybr5+PKZwNA== - dependencies: - conventional-changelog-angular "^1.6.6" - conventional-changelog-atom "^2.0.0" - conventional-changelog-codemirror "^2.0.0" - conventional-changelog-core "^3.1.0" - conventional-changelog-ember "^2.0.1" - conventional-changelog-eslint "^3.0.0" - conventional-changelog-express "^2.0.0" - conventional-changelog-jquery "^0.1.0" - conventional-changelog-jscs "^0.1.0" - conventional-changelog-jshint "^2.0.0" - conventional-changelog-preset-loader "^2.0.1" - -conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.6.tgz#0935e1240c5ca7698329affee1b6a46d33324c4c" - integrity sha512-4g+sw8+KA50/Qwzfr0hL5k5NWxqtrOVw4DDk3/h6L85a9Gz0/Eqp3oP+CWCNfesBvZZZEFHF7OTEbRe+yYSyKw== + through2 "^4.0.0" + +conventional-changelog@3.1.25: + version "3.1.25" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.25.tgz#3e227a37d15684f5aa1fb52222a6e9e2536ccaff" + integrity sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ== + dependencies: + conventional-changelog-angular "^5.0.12" + conventional-changelog-atom "^2.0.8" + conventional-changelog-codemirror "^2.0.8" + conventional-changelog-conventionalcommits "^4.5.0" + conventional-changelog-core "^4.2.1" + conventional-changelog-ember "^2.0.9" + conventional-changelog-eslint "^3.0.9" + conventional-changelog-express "^2.0.6" + conventional-changelog-jquery "^3.0.11" + conventional-changelog-jshint "^2.0.9" + conventional-changelog-preset-loader "^2.3.4" + +conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== dependencies: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.0.2, conventional-commits-parser@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.1.0.tgz#10140673d5e7ef5572633791456c5d03b69e8be4" - integrity sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA== +conventional-commits-parser@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" + integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== dependencies: JSONStream "^1.0.4" is-text-path "^1.0.1" lodash "^4.17.15" - meow "^7.0.0" - split2 "^2.0.0" - through2 "^3.0.0" - trim-off-newlines "^1.0.0" - -conventional-github-releaser@3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/conventional-github-releaser/-/conventional-github-releaser-3.1.3.tgz#0074165abd0da675e56cfd08b3601de8faa4dcba" - integrity sha512-Yt2h9FrpMZV9geO38aXqCvd5N3YGnXZ07Du2kWjSWnBE+QIqcp+dAat/svvWfQyyKMiB1otcZidetPJoKRauqA== - dependencies: - conventional-changelog "^2.0.0" - dateformat "^3.0.0" - debug "^3.1.0" - gh-got "^7.0.0" - git-semver-tags "^2.0.0" - lodash.merge "^4.0.2" - meow "^5.0.0" - object-assign "^4.0.1" - q "^1.4.1" - semver "^5.0.1" - semver-regex "^2.0.0" - through2 "^2.0.0" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" -conventional-recommended-bump@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-5.0.0.tgz#019d45a1f3d2cc14a26e9bad1992406ded5baa23" - integrity sha512-CsfdICpbUe0pmM4MTG90GPUqnFgB1SWIR2HAh+vS+JhhJdPWvc0brs8oadWoYGhFOQpQwe57JnvzWEWU0m2OSg== +conventional-recommended-bump@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" + integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== dependencies: concat-stream "^2.0.0" - conventional-changelog-preset-loader "^2.1.1" - conventional-commits-filter "^2.0.2" - conventional-commits-parser "^3.0.2" - git-raw-commits "2.0.0" - git-semver-tags "^2.0.2" - meow "^4.0.0" + conventional-changelog-preset-loader "^2.3.4" + conventional-commits-filter "^2.0.7" + conventional-commits-parser "^3.2.0" + git-raw-commits "^2.0.8" + git-semver-tags "^4.1.1" + meow "^8.0.0" q "^1.5.1" -convert-source-map@^1.1.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== +cookie@~0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== +core-js-compat@^3.31.0, core-js-compat@^3.33.1: + version "3.33.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.1.tgz#debe80464107d75419e00c2ee29f35982118ff84" + integrity sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ== dependencies: - browserslist "^4.8.5" - semver "7.0.0" + browserslist "^4.22.1" core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-env@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.2.tgz#bd5ed31339a93a3418ac4f3ca9ca3403082ae5f9" - integrity sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw== - dependencies: - cross-spawn "^7.0.1" + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== +cors@~2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" + object-assign "^4" + vary "^1" -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -2972,331 +2482,173 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-loader@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" - integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== +css-loader@6.8.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" + integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^2.7.0" - semver "^6.3.0" + icss-utils "^5.1.0" + postcss "^8.4.21" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.3" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.8" cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - custom-event@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" - integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU= - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== -dargs@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - integrity sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc= - dependencies: - number-is-nan "^1.0.0" - -date-format@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.1.0.tgz#31d5b5ea211cf5fd764cd38baf9d033df7e125cf" - integrity sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA== +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== -date-format@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-3.0.0.tgz#eb8780365c7d2b1511078fb491e6479780f3ad95" - integrity sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w== +date-format@^4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" + integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== dateformat@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= - -debug@2.6.9, debug@^2.3.3, debug@^2.6.9: +debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@3.2.6, debug@^3.1.1, debug@^3.2.5: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== +debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - ms "^2.1.1" - -debug@^2.2.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d" - dependencies: - ms "0.7.2" - -debug@^3.1.0, debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" + ms "2.1.2" -decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== dependencies: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== +deep-eql@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== dependencies: type-detect "^4.0.0" -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - dependencies: - is-descriptor "^0.1.0" +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== dependencies: - is-descriptor "^1.0.0" + execa "^5.0.0" -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" +define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== -detab@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.3.tgz#33e5dd74d230501bd69985a0d2b9a3382699a130" - integrity sha512-Up8P0clUVwq0FnFjDclzZsy9PadzRn5FFxrr47tQQvMHqyiFYVbpH8oXDzWtF0Q7pYy3l+RPmtBl+BsFF6wH0A== - dependencies: - repeat-string "^1.5.4" - -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detect-indent@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" - integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== -detect-newline@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.0.0.tgz#8ae477c089e51872c264531cd6547719c0b86b2f" - integrity sha512-JAP22dVPAqvhdRFFxK1G5GViIokyUn0UWXRNW0ztK96fsqi9cuM8w8ESbSk+T2w5OVorcMcL6m7yUg1RrX+2CA== +detect-newline@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -detective@^4.0.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e" - integrity sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig== - dependencies: - acorn "^5.2.1" - defined "^1.0.0" + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== di@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" - integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= + integrity sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA== -diff@4.0.2, diff@^4.0.1, diff@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" + integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" + path-type "^4.0.0" dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -doctrine-temporary-fork@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz#36f2154f556ee4f1e60311d391cd23de5187ed57" - integrity sha512-nliqOv5NkE4zMON4UA6AMJE6As35afs8aYXATpU4pTUdIKiARZwrJVEP1boA3Rx1ZXHVkwxkhcq4VkqvsuRLsA== - dependencies: - esutils "^2.0.2" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== dependencies: - esutils "^2.0.2" - isarray "^1.0.0" + "@leichtgewicht/ip-codec" "^2.0.1" doctrine@^3.0.0: version "3.0.0" @@ -3305,108 +2657,24 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -documentation@^13.0.2: - version "13.0.2" - resolved "https://registry.yarnpkg.com/documentation/-/documentation-13.0.2.tgz#fd1ec7a1daebfbd5b14a8dca8b9d36cba32f5b85" - integrity sha512-pupdwmk51DZyRFxhnadYfN8CxjH5g7L20sIyWkm0u+Zk3J2NByy4CmygVfhv22rm4gHrm69qiHI7SqQ6HuNbeQ== - dependencies: - "@babel/core" "^7.9.0" - "@babel/generator" "^7.9.4" - "@babel/parser" "7.10.2" - "@babel/plugin-proposal-class-properties" "^7.8.3" - "@babel/plugin-proposal-decorators" "^7.8.3" - "@babel/plugin-proposal-do-expressions" "^7.8.3" - "@babel/plugin-proposal-export-default-from" "^7.8.3" - "@babel/plugin-proposal-export-namespace-from" "^7.8.3" - "@babel/plugin-proposal-function-bind" "^7.8.3" - "@babel/plugin-proposal-function-sent" "^7.8.3" - "@babel/plugin-proposal-json-strings" "^7.8.3" - "@babel/plugin-proposal-logical-assignment-operators" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-numeric-separator" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-proposal-pipeline-operator" "^7.8.3" - "@babel/plugin-proposal-private-methods" "^7.8.3" - "@babel/plugin-proposal-throw-expressions" "^7.8.3" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/preset-env" "^7.9.0" - "@babel/preset-flow" "^7.9.0" - "@babel/preset-react" "^7.9.4" - "@babel/preset-stage-0" "^7.8.3" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" - ansi-html "^0.0.7" - babelify "^10.0.0" - chalk "^2.3.0" - chokidar "^3.4.0" - concat-stream "^1.6.0" - diff "^4.0.1" - doctrine-temporary-fork "2.1.0" - get-port "^5.0.0" - git-url-parse "^11.1.2" - github-slugger "1.2.0" - glob "^7.1.2" - globals-docs "^2.4.0" - highlight.js "^9.15.5" - ini "^1.3.5" - js-yaml "^3.10.0" - lodash "^4.17.10" - mdast-util-inject "^1.1.0" - micromatch "^3.1.5" - mime "^2.2.0" - module-deps-sortable "5.0.0" - parse-filepath "^1.0.2" - pify "^5.0.0" - read-pkg-up "^4.0.0" - remark "^9.0.0" - remark-html "^8.0.0" - remark-reference-links "^4.0.1" - remark-toc "^5.0.0" - resolve "^1.8.1" - stream-array "^1.1.2" - strip-json-comments "^2.0.1" - tiny-lr "^1.1.0" - unist-builder "^1.0.2" - unist-util-visit "^1.3.0" - vfile "^4.0.0" - vfile-reporter "^6.0.0" - vfile-sort "^2.1.0" - vinyl "^2.1.0" - vinyl-fs "^3.0.2" - vue-template-compiler "^2.5.16" - yargs "^15.3.1" - dom-serialize@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" - integrity sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs= + integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ== dependencies: custom-event "~1.0.0" ent "~2.2.0" extend "^3.0.0" void-elements "^2.0.0" -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= - dependencies: - is-obj "^1.0.0" - dot-prop@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" - integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" -dotgitignore@2.1.0: +dotgitignore@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" integrity sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA== @@ -3414,655 +2682,350 @@ dotgitignore@2.1.0: find-up "^3.0.0" minimatch "^3.0.4" -duplexer2@^0.1.2, duplexer2@~0.1.0: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= - dependencies: - readable-stream "^2.0.2" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.3.488: - version "1.3.501" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.501.tgz#faa17a2cb0105ee30d5e1ca87eae7d8e85dd3175" - integrity sha512-tyzuKaV2POw2mtqBBzQGNBojMZzH0MRu8bT8T/50x+hWeucyG/9pkgAATy+PcM2ySNM9+8eG2VllY9c6j4i+bg== - -elliptic@^6.0.0, elliptic@^6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -"emoji-regex@>=6.0.0 <=6.1.1": - version "6.1.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" - integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +electron-to-chromium@^1.4.535: + version "1.4.569" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.569.tgz#1298b67727187ffbaac005a7425490d157f3ad03" + integrity sha512-LsrJjZ0IbVy12ApW3gpYpcmHS3iRxH4bkKOW98y1/D+3cvDUWGcbzbsFinfUS8knpcZk/PG/2p/RnkMCYN7PVg== emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -engine.io-client@~3.4.0: - version "3.4.3" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.4.3.tgz#192d09865403e3097e3575ebfeb3861c4d01a66c" - integrity sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw== - dependencies: - component-emitter "~1.3.0" - component-inherit "0.0.3" - debug "~4.1.0" - engine.io-parser "~2.2.0" - has-cors "1.1.0" - indexof "0.0.1" - parseqs "0.0.5" - parseuri "0.0.5" - ws "~6.1.0" - xmlhttprequest-ssl "~1.5.4" - yeast "0.1.2" - -engine.io-parser@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.0.tgz#312c4894f57d52a02b420868da7b5c1c84af80ed" - integrity sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w== - dependencies: - after "0.8.2" - arraybuffer.slice "~0.0.7" - base64-arraybuffer "0.1.5" - blob "0.0.5" - has-binary2 "~1.0.2" +engine.io-parser@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb" + integrity sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ== -engine.io@~3.4.0: - version "3.4.2" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.4.2.tgz#8fc84ee00388e3e228645e0a7d3dfaeed5bd122c" - integrity sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg== +engine.io@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.5.3.tgz#80b0692912cef3a417e1b7433301d6397bf0374b" + integrity sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw== dependencies: + "@types/cookie" "^0.4.1" + "@types/cors" "^2.8.12" + "@types/node" ">=10.0.0" accepts "~1.3.4" base64id "2.0.0" - cookie "0.3.1" - debug "~4.1.0" - engine.io-parser "~2.2.0" - ws "^7.1.2" - -enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" + cookie "~0.4.1" + cors "~2.8.5" + debug "~4.3.1" + engine.io-parser "~5.2.1" + ws "~8.11.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== dependencies: - ansi-colors "^4.1.1" + graceful-fs "^4.2.4" + tapable "^2.2.0" ent@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= + integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== -errno@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" - dependencies: - prr "~0.0.0" - -errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" +envinfo@^7.7.3: + version "7.10.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.10.0.tgz#55146e3909cc5fe63c22da63fb15b05aeac35b13" + integrity sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw== -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -error@^7.0.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" - integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== - dependencies: - string-template "~0.2.1" - -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: - version "1.17.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" - integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.0" - is-regex "^1.1.0" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-get-iterator@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" - integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== - dependencies: - es-abstract "^1.17.4" - has-symbols "^1.0.1" - is-arguments "^1.0.4" - is-map "^2.0.1" - is-set "^2.0.1" - is-string "^1.0.5" - isarray "^2.0.5" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" +es-module-lexer@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz#c1b0dd5ada807a3b3155315911f364dc4e909db1" + integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== -escalade@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" - integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -escodegen@1.8.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" - dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.2.0" - -eslint-config-prettier@^6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1" - integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA== - dependencies: - get-stdin "^6.0.0" - -eslint-import-resolver-node@^0.3.3: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-loader@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-4.0.2.tgz#386a1e21bcb613b3cf2d252a3b708023ccfb41ec" - integrity sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw== +eslint-plugin-mocha@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz#15b05ce5be4b332bb0d76826ec1c5ebf67102ad6" + integrity sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ== dependencies: - find-cache-dir "^3.3.1" - fs-extra "^8.1.0" - loader-utils "^2.0.0" - object-hash "^2.0.3" - schema-utils "^2.6.5" + eslint-utils "^3.0.0" + rambda "^7.4.0" -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" + esrecurse "^4.3.0" + estraverse "^4.1.1" -eslint-plugin-flowtype@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.0.tgz#a4bef5dc18f9b2bdb41569a4ab05d73805a3d261" - integrity sha512-z7ULdTxuhlRJcEe1MVljePXricuPOrsWfScRXFhNzVD5dmTHWjIF57AxD0e7AbEoLSbjSsaA5S+hCg43WvpXJQ== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: - lodash "^4.17.15" - string-natural-compare "^3.0.1" - -eslint-plugin-import@^2.22.0: - version "2.22.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e" - integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.3" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" + esrecurse "^4.3.0" + estraverse "^5.2.0" -eslint-plugin-mocha-no-only@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-mocha-no-only/-/eslint-plugin-mocha-no-only-1.1.1.tgz#2da56949776e8c5455cfeb67f2747d2d8cf522fc" - integrity sha512-b+vgjJQ3SjRQCygBhomtjzvRQRpIP8Yd9cqwNSbcoVJREuNajao7M1Kl1aObAUc4wx98qsZyQyUSUxiAbMS9yA== +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== dependencies: - requireindex "~1.1.0" + eslint-visitor-keys "^2.0.0" -eslint-plugin-prettier@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz#168ab43154e2ea57db992a2cd097c828171f75c2" - integrity sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg== - dependencies: - prettier-linter-helpers "^1.0.0" +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint@^7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.5.0.tgz#9ecbfad62216d223b82ac9ffea7ef3444671d135" - integrity sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.56.0: + version "8.56.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.56.0" + "@humanwhocodes/config-array" "^0.11.13" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.0" - eslint-utils "^2.1.0" - eslint-visitor-keys "^1.3.0" - espree "^7.2.0" - esquery "^1.2.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.19" - minimatch "^3.0.4" + lodash.merge "^4.6.2" + minimatch "^3.1.2" natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^5.2.3" + optionator "^0.9.3" + strip-ansi "^6.0.1" text-table "^0.2.0" - v8-compile-cache "^2.0.3" -espree@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69" - integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g== +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: - acorn "^7.3.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.3.0" - -esprima@2.7.x, esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - -esprima@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - -esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" -esquery@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: - estraverse "~4.1.0" - object-assign "^4.0.1" - -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + estraverse "^5.2.0" estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -estraverse@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" - integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== eventemitter3@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" - integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" is-stream "^2.0.0" merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" strip-final-newline "^2.0.0" -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - -express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== +express@^4.17.3: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: - accepts "~1.3.7" + accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" + body-parser "1.20.1" + content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.0" + cookie "0.5.0" cookie-signature "1.0.6" debug "2.6.9" - depd "~1.1.2" + depd "2.0.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "~1.1.2" + finalhandler "1.2.0" fresh "0.5.2" + http-errors "2.0.0" merge-descriptors "1.0.1" methods "~1.1.2" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" + proxy-addr "~2.0.7" + qs "6.11.0" range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - extend@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== +fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -faye-websocket@^0.10.0, faye-websocket@~0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - dependencies: - websocket-driver ">=0.5.1" +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== -faye-websocket@~0.11.1: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: - websocket-driver ">=0.5.1" + reusify "^1.0.4" -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -figures@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9" - integrity sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g== +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: - escape-string-regexp "^1.0.5" + websocket-driver ">=0.5.1" -figures@^3.2.0: +figures@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" + flat-cache "^3.0.4" fill-range@^7.0.1: version "7.0.1" @@ -4071,7 +3034,7 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -finalhandler@1.1.2, finalhandler@~1.1.2: +finalhandler@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== @@ -4084,141 +3047,98 @@ finalhandler@1.1.2, finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" -find-up@3.0.0, find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== dependencies: - locate-path "^3.0.0" + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" -find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - locate-path "^5.0.0" + locate-path "^6.0.0" path-exists "^4.0.0" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: +find-up@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: locate-path "^2.0.0" -find-versions@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" - integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww== - dependencies: - semver-regex "^2.0.0" - -findup-sync@^3.0.0: +find-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" + locate-path "^3.0.0" -flat@^4.1.0: +find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" - integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: - is-buffer "~2.0.3" - -flatted@^2.0.0, flatted@^2.0.1, flatted@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + locate-path "^5.0.0" + path-exists "^4.0.0" -flow-bin@^0.129.0: - version "0.129.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.129.0.tgz#50294d6e335dd97d095c27b096ea0b94c2415d55" - integrity sha512-WLXOj09oCK6nODVKM5uxvAzBpxXeI304E60tELMeQd/TJsyfbykNCZ+e4xml9eUOyoac9nDL3YrJpPZMzq0tMA== +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" -flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== +flat-cache@^3.0.4: + version "3.1.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" + integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" -follow-redirects@^1.0.0: - version "1.12.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.12.1.tgz#de54a6205311b93d60398ebc01cf7015682312b6" - integrity sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg== +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" +flatted@^3.2.7, flatted@^3.2.9: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +follow-redirects@^1.0.0: + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - dependencies: - map-cache "^0.2.2" +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0, from2@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-access@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" - integrity sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o= - dependencies: - null-check "^1.0.0" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-extra@^8.1.0: version "8.1.0" @@ -4229,242 +3149,132 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-mkdirp-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" - integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= - dependencies: - graceful-fs "^4.1.11" - through2 "^2.0.3" - -fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= +fs-extra@~7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== dependencies: graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.1: +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-pkg-repo@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" - integrity sha1-xztInAbYDMVTbCyFP54FIyBWly0= - dependencies: - hosted-git-info "^2.1.4" - meow "^3.3.0" - normalize-package-data "^2.3.0" - parse-github-repo-url "^1.3.0" - through2 "^2.0.0" - -get-port@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" - integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - -get-stream@3.0.0, get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== dependencies: - pump "^3.0.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" -get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== +get-pkg-repo@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + "@hutson/parse-repository-url" "^3.0.0" + hosted-git-info "^4.0.0" + through2 "^2.0.0" + yargs "^16.2.0" -gh-got@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-7.1.0.tgz#f2b14eef375ce49b66d5f034a1c124f56dc5bcf0" - integrity sha512-KeWkkhresa7sbpzQLYzITMgez5rMigUsijhmSAHcLDORIMUbdlkdoZyaN1wQvIjmUZnyb/wkAPaXb4MQKX0mdQ== - dependencies: - got "^8.0.0" - is-plain-obj "^1.1.0" +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -git-raw-commits@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" - integrity sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg== +git-raw-commits@^2.0.8: + version "2.0.11" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== dependencies: - dargs "^4.0.1" - lodash.template "^4.0.2" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^2.0.0" + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" git-remote-origin-url@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= + integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== dependencies: gitconfiglocal "^1.0.0" pify "^2.3.0" -git-semver-tags@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.2.tgz#f506ec07caade191ac0c8d5a21bdb8131b4934e3" - integrity sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w== - dependencies: - meow "^4.0.0" - semver "^5.5.0" - -git-semver-tags@^2.0.0, git-semver-tags@^2.0.2, git-semver-tags@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.3.tgz#48988a718acf593800f99622a952a77c405bfa34" - integrity sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA== +git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" + integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== dependencies: - meow "^4.0.0" + meow "^8.0.0" semver "^6.0.0" -git-up@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" - integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw== - dependencies: - is-ssh "^1.3.0" - parse-url "^5.0.0" - -git-url-parse@^11.1.2: - version "11.1.2" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.2.tgz#aff1a897c36cc93699270587bea3dbcbbb95de67" - integrity sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ== - dependencies: - git-up "^4.0.0" - gitconfiglocal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= + integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== dependencies: ini "^1.3.2" -github-slugger@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.0.tgz#8ada3286fd046d8951c3c952a8d7854cfd90fd9a" - integrity sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q== - dependencies: - emoji-regex ">=6.0.0 <=6.1.1" - -github-slugger@^1.0.0, github-slugger@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.3.0.tgz#9bd0a95c5efdfc46005e82a906ef8e2a059124c9" - integrity sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q== +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: - emoji-regex ">=6.0.0 <=6.1.1" + is-glob "^4.0.1" -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" +glob-parent@^6.0.1, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" + is-glob "^4.0.3" -glob-parent@^5.0.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob-stream@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" - integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= - dependencies: - extend "^3.0.0" - glob "^7.1.1" - glob-parent "^3.1.0" - is-negated-glob "^1.0.0" - ordered-read-streams "^1.0.0" - pumpify "^1.3.5" - readable-stream "^2.1.5" - remove-trailing-separator "^1.0.1" - to-absolute-glob "^2.0.0" - unique-stream "^2.0.2" - -glob@7.1.6, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -4473,150 +3283,82 @@ glob@7.1.6, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^5.0.15: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" +glob@^7.1.3, glob@^7.1.7: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.2" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals-docs@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/globals-docs/-/globals-docs-2.4.1.tgz#d16887709f4a15eb22d97e96343591f87a2ee3db" - integrity sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg== - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== +globals@^13.19.0: + version "13.23.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" + integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== dependencies: - type-fest "^0.8.1" + type-fest "^0.20.2" -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" -got@^8.0.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" - integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== - dependencies: - "@sindresorhus/is" "^0.7.0" - cacheable-request "^2.1.1" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - into-stream "^3.1.0" - is-retry-allowed "^1.1.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - mimic-response "^1.0.0" - p-cancelable "^0.4.0" - p-timeout "^2.0.1" - pify "^3.0.0" - safe-buffer "^5.1.1" - timed-out "^4.0.1" - url-parse-lax "^3.0.0" - url-to-options "^1.0.1" +globby@^13.1.1: + version "13.2.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" + integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.3.0" + ignore "^5.2.4" + merge2 "^1.4.1" + slash "^4.0.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.15, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" -graceful-fs@^4.1.11, graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -handlebars@^4.0.1: - version "4.0.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -handlebars@^4.7.6: - version "4.7.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" - integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== +handlebars@^4.7.7: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== dependencies: minimist "^1.2.5" - neo-async "^2.6.0" + neo-async "^2.6.2" source-map "^0.6.1" wordwrap "^1.0.0" optionalDependencies: @@ -4627,250 +3369,115 @@ hard-rejection@^2.1.0: resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-binary2@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" - integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== - dependencies: - isarray "2.0.1" - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - -has-symbols@^1.0.1: +has-property-descriptors@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + get-intrinsic "^1.2.2" -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== -has@^1.0.3: +has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hast-util-is-element@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.4.tgz#059090a05cc02e275df1ad02caf8cb422fcd2e02" - integrity sha512-NFR6ljJRvDcyPP5SbV7MyPBgF47X3BsskLnmw1U34yL+X6YC0MoBx9EyMg8Jtx4FzGH95jw8+c1VPLHaRA0wDQ== + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -hast-util-sanitize@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz#4e60d66336bd67e52354d581967467029a933f2e" - integrity sha512-AIeKHuHx0Wk45nSkGVa2/ujQYTksnDl8gmmKo/mwQi7ag7IBZ8cM3nJ2G86SajbjGP/HRpud6kMkPtcM2i0Tlw== +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== dependencies: - xtend "^4.0.1" - -hast-util-to-html@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz#3666b05afb62bd69f8f5e6c94db04dea19438e2a" - integrity sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg== - dependencies: - ccount "^1.0.0" - comma-separated-tokens "^1.0.1" - hast-util-is-element "^1.0.0" - hast-util-whitespace "^1.0.0" - html-void-elements "^1.0.0" - property-information "^4.0.0" - space-separated-tokens "^1.0.0" - stringify-entities "^1.0.1" - unist-util-is "^2.0.0" - xtend "^4.0.1" - -hast-util-whitespace@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz#e4fe77c4a9ae1cb2e6c25e02df0043d0164f6e41" - integrity sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A== + function-bind "^1.1.2" -he@1.2.0, he@^1.1.0: +he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -highlight.js@^9.15.5: - version "9.18.1" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" - integrity sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg== - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.4.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.1.tgz#4b0445e41c004a8bd1337773a4ff790ca40318c8" + lru-cache "^6.0.0" hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" obuf "^1.0.0" readable-stream "^2.0.1" wbuf "^1.1.0" -html-entities@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" - integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-void-elements@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" - integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== - -http-cache-semantics@3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== +html-entities@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" http-errors@~1.6.2: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== dependencies: depd "~1.1.2" inherits "2.0.3" setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" -http-proxy@^1.17.0, http-proxy@^1.18.1: +http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== @@ -4879,31 +3486,10 @@ http-proxy@^1.17.0, http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -husky@^4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36" - integrity sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ== - dependencies: - chalk "^4.0.0" - ci-info "^2.0.0" - compare-versions "^3.6.0" - cosmiconfig "^6.0.0" - find-versions "^3.2.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^4.2.0" - please-upgrade-node "^3.2.0" - slash "^3.0.0" - which-pm-runs "^1.0.0" +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== iconv-lite@0.4.24: version "0.4.24" @@ -4912,210 +3498,89 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.2.0, ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== -import-fresh@^3.0.0, import-fresh@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== +import-lazy@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.4, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.2, ini@^1.3.4, ini@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -interpret@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -into-stream@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" - integrity sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY= - dependencies: - from2 "^2.1.1" - p-is-promise "^1.1.0" - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - dependencies: - loose-envify "^1.0.0" - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= +ini@^1.3.2: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: +ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - dependencies: - kind-of "^6.0.0" - -is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" - integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== - -is-alphanumeric@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" - integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= - -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" - integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-binary-path@~2.1.0: version "2.1.0" @@ -5124,469 +3589,151 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-buffer@^1.0.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" - -is-buffer@^1.1.4, is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -is-buffer@^2.0.0, is-buffer@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-callable@^1.1.4, is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-decimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" - integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" +is-core-module@^2.1.0, is-core-module@^2.13.0, is-core-module@^2.5.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + hasown "^2.0.0" -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - dependencies: - is-plain-object "^2.0.4" +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - dependencies: - is-extglob "^2.1.1" - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" -is-hexadecimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" - integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== - -is-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" - integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== - -is-negated-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" - integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.0, is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= - -is-odd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" - dependencies: - is-number "^4.0.0" - -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== -is-path-inside@^2.1.0: +is-plain-obj@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" -is-regex@^1.0.4, is-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" - integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== dependencies: - has-symbols "^1.0.1" + text-extensions "^1.0.0" -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== +is-wsl@^2.1.0, is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: - is-unc-path "^1.0.0" - -is-retry-allowed@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + is-docker "^2.0.0" -is-set@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" - integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -is-ssh@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" - integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== - dependencies: - protocols "^1.1.0" +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +isbinaryfile@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== -is-stream@^2.0.0: +isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -is-string@^1.0.4, is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= - dependencies: - text-extensions "^1.0.0" - -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== - dependencies: - unc-path-regex "^0.1.2" - -is-utf8@^0.2.0, is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" - integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= - -is-whitespace-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" - integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== - -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - -is-word-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" - integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isarray@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" - integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isbinaryfile@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b" - integrity sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - 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" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -istanbul@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -iterate-iterator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" - integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw== + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" -iterate-value@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" - integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== - dependencies: - es-get-iterator "^1.0.2" - iterate-iterator "^1.0.1" +jju@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== js-logger@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/js-logger/-/js-logger-1.6.0.tgz#7abae5cfaf208c965f3ef20754533bb9e79c7aef" - integrity sha512-K4kt2AdD0jUYINbe00BPPpsL65u/rdYOgfaBBVWm/mid+ANk7qxDnoXgKI5ilm49Sjmach2Dzlc+5VxKdRA3tw== - -js-tokens@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + version "1.6.1" + resolved "https://registry.yarnpkg.com/js-logger/-/js-logger-1.6.1.tgz#8f09671b515e4a6f31dced8fdb8923432e2c60af" + integrity sha512-yTgMCPXVjhmg28CuUH8CKjU+cIKL/G+zTu4Fn4lQxs8mRFH/03QTNvEFngcxfg/gRDiQAOoyCKmMTOm9ayOzXA== js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@3.x: - version "3.8.3" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766" - dependencies: - argparse "^1.0.7" - esprima "^3.1.1" - -js-yaml@^3.10.0, js-yaml@^3.13.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: - argparse "^1.0.7" - esprima "^4.0.0" + argparse "^2.0.1" jsesc@^2.5.1: version "2.5.2" @@ -5596,100 +3743,72 @@ jsesc@^2.5.1: jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json3@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" jsonparse@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.0.tgz#85fc245b1d9259acc6941960b905adf64e7de0e8" + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== just-extend@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.1.0.tgz#7278a4027d889601640ee0ce0e5a00b992467da4" - integrity sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA== - -karma-chai@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/karma-chai/-/karma-chai-0.1.0.tgz#bee5ad40400517811ae34bb945f762909108b79a" - integrity sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o= + version "4.2.1" + resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" + integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== -karma-chrome-launcher@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz#805a586799a4d05f4e54f72a204979f3f3066738" - integrity sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg== +karma-chrome-launcher@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz#eb9c95024f2d6dfbb3748d3415ac9b381906b9a9" + integrity sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q== dependencies: which "^1.2.1" -karma-cli@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/karma-cli/-/karma-cli-2.0.0.tgz#481548d28661af4cc68f3d8e09708f17d2cba931" - integrity sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw== - dependencies: - resolve "^1.3.3" - -karma-coverage@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-2.0.2.tgz#75d5ce983033d8f738d57df82948dc3534392519" - integrity sha512-zge5qiGEIKDdzWciQwP4p0LSac4k/L6VfrBsERMUn5mpDvxhv1sPVOrSlpzpi70T7NhuEy4bgnpAKIYuumIMCw== - dependencies: - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.1" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.0" - minimatch "^3.0.4" - karma-firefox-launcher@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/karma-firefox-launcher/-/karma-firefox-launcher-1.3.0.tgz#ebcbb1d1ddfada6be900eb8fae25bcf2dcdc8171" @@ -5697,17 +3816,10 @@ karma-firefox-launcher@^1.3.0: dependencies: is-wsl "^2.1.0" -karma-ie-launcher@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/karma-ie-launcher/-/karma-ie-launcher-1.0.0.tgz#497986842c490190346cd89f5494ca9830c6d59c" - integrity sha1-SXmGhCxJAZA0bNifVJTKmDDG1Zw= - dependencies: - lodash "^4.6.1" - karma-mocha-reporter@^2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz#15120095e8ed819186e47a0b012f3cd741895560" - integrity sha1-FRIAlejtgZGG5HoLAS8810GJVWA= + integrity sha512-Hr6nhkIp0GIJJrvzY8JFeHpQZNseuIakGac4bpw8K1+5F0tLb6l7uvXRa8mt2Z+NVwYgCct4QAfp2R2QP6o00w== dependencies: chalk "^2.1.0" log-symbols "^2.1.0" @@ -5723,136 +3835,73 @@ karma-mocha@^2.0.1: karma-safari-launcher@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz#96982a2cc47d066aae71c553babb28319115a2ce" - integrity sha1-lpgqLMR9BmquccVTursoMZEVos4= + integrity sha512-qmypLWd6F2qrDJfAETvXDfxHvKDk+nyIjpH9xIeI3/hENr0U3nuqkxaftq73PfXZ4aOuOChA6SnLW4m4AxfRjQ== -karma-sourcemap-loader@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz#91322c77f8f13d46fed062b042e1009d4c4505d8" - integrity sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg= +karma-sourcemap-loader@^0.3.8: + version "0.3.8" + resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.8.tgz#d4bae72fb7a8397328a62b75013d2df937bdcf9c" + integrity sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g== dependencies: graceful-fs "^4.1.2" -karma-webpack@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-4.0.2.tgz#23219bd95bdda853e3073d3874d34447c77bced0" - integrity sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A== +karma-webpack@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-5.0.0.tgz#2a2c7b80163fe7ffd1010f83f5507f95ef39f840" + integrity sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA== dependencies: - clone-deep "^4.0.1" - loader-utils "^1.1.0" - neo-async "^2.6.1" - schema-utils "^1.0.0" - source-map "^0.7.3" - webpack-dev-middleware "^3.7.0" + glob "^7.1.3" + minimatch "^3.0.4" + webpack-merge "^4.1.5" -karma@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/karma/-/karma-5.1.0.tgz#deaa5f3939f75d7d78ded33283fa5f9bb67e9a05" - integrity sha512-I3aPbkuIbwuBo6wSog97P5WnnhCgUTsWTu/bEw1vZVQFbXmKO3PK+cfFhZioOgVtJAuQxoyauGNjnwXNHMCxbw== +karma@^6.4.0: + version "6.4.2" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.2.tgz#a983f874cee6f35990c4b2dcc3d274653714de8e" + integrity sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ== dependencies: + "@colors/colors" "1.5.0" body-parser "^1.19.0" braces "^3.0.2" - chokidar "^3.0.0" - colors "^1.4.0" + chokidar "^3.5.1" connect "^3.7.0" di "^0.0.1" dom-serialize "^2.2.1" - flatted "^2.0.2" - glob "^7.1.6" - graceful-fs "^4.2.4" + glob "^7.1.7" + graceful-fs "^4.2.6" http-proxy "^1.18.1" - isbinaryfile "^4.0.6" - lodash "^4.17.15" - log4js "^6.2.1" - mime "^2.4.5" + isbinaryfile "^4.0.8" + lodash "^4.17.21" + log4js "^6.4.1" + mime "^2.5.2" minimatch "^3.0.4" + mkdirp "^0.5.5" qjobs "^1.2.0" range-parser "^1.2.1" rimraf "^3.0.2" - socket.io "^2.3.0" + socket.io "^4.4.1" source-map "^0.6.1" - tmp "0.2.1" - ua-parser-js "0.7.21" - yargs "^15.3.1" - -keyv@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" - integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== - dependencies: - json-buffer "3.0.0" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" - dependencies: - is-buffer "^1.0.2" - -kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" + tmp "^0.2.1" + ua-parser-js "^0.7.30" + yargs "^16.1.1" -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + json-buffer "3.0.1" -kind-of@^6.0.3: +kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - dependencies: - readable-stream "^2.0.5" - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -lead@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" - integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= - dependencies: - flush-write-stream "^1.0.2" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== dependencies: - leven "^3.1.0" + picocolors "^1.0.0" + shell-quote "^1.8.1" levn@^0.4.1: version "0.4.1" @@ -5862,121 +3911,30 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -lint-staged@^10.2.11: - version "10.2.11" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.11.tgz#713c80877f2dc8b609b05bc59020234e766c9720" - integrity sha512-LRRrSogzbixYaZItE2APaS4l2eJMjjf5MbclRZpLJtcQJShcvUzKXsNeZgsLIZ0H0+fg2tL4B59fU9wHIHtFIA== - dependencies: - chalk "^4.0.0" - cli-truncate "2.1.0" - commander "^5.1.0" - cosmiconfig "^6.0.0" - debug "^4.1.1" - dedent "^0.7.0" - enquirer "^2.3.5" - execa "^4.0.1" - listr2 "^2.1.0" - log-symbols "^4.0.0" - micromatch "^4.0.2" - normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" - -listr2@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.2.1.tgz#3a0abf78a7a9d9fb4121a541b524cb52e8dcbbba" - integrity sha512-WhuhT7xpVi2otpY/OzJJ8DQhf6da8MjGiEhMdA9oQquwtsSfzZt+YKlasUBer717Uocd0oPmbPeiTD7MvGzctw== - dependencies: - chalk "^4.0.0" - cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" - log-update "^4.0.0" - p-map "^4.0.0" - rxjs "^6.5.5" - through "^2.3.8" - -livereload-js@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c" - integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw== - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== dependencies: graceful-fs "^4.1.2" parse-json "^4.0.0" pify "^3.0.0" strip-bom "^3.0.0" -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - -loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== dependencies: p-locate "^2.0.0" path-exists "^3.0.0" @@ -5984,6 +3942,7 @@ locate-path@^2.0.0: locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" @@ -5995,124 +3954,82 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= + integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== -lodash.merge@^4.0.2: +lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.template@^4.0.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.2.1, lodash@^4.6.1: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.17.15, lodash@^4.17.21, lodash@~4.17.15: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: - chalk "^2.4.2" + chalk "^4.1.0" + is-unicode-supported "^0.1.0" log-symbols@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== dependencies: chalk "^2.0.1" -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -log4js@^6.2.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.3.0.tgz#10dfafbb434351a3e30277a00b9879446f715bcb" - integrity sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw== - dependencies: - date-format "^3.0.0" - debug "^4.1.1" - flatted "^2.0.1" - rfdc "^1.1.4" - streamroller "^2.2.4" - -loglevel@^1.6.8: - version "1.6.8" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" - integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA== - -longest-streak@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" - integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loose-envify@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" +log4js@^6.4.1: + version "6.9.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.9.1.tgz#aba5a3ff4e7872ae34f8b4c533706753709e38b6" + integrity sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g== dependencies: - js-tokens "^3.0.0" + date-format "^4.0.14" + debug "^4.3.4" + flatted "^3.2.7" + rfdc "^1.3.0" + streamroller "^3.1.5" -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lowercase-keys@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY= - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + get-func-name "^2.0.1" lru-cache@^5.1.1: version "5.1.1" @@ -6121,344 +4038,132 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0, make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: - p-defer "^1.0.0" + yallist "^4.0.0" -map-cache@^0.2.0, map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - -map-obj@^1.0.0, map-obj@^1.0.1: +map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" - integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== map-obj@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" - integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== dependencies: - object-visit "^1.0.0" + fs-monkey "^1.0.4" -markdown-escapes@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" - integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== - -markdown-table@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" - integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdast-util-compact@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593" - integrity sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg== - dependencies: - unist-util-visit "^1.1.0" - -mdast-util-definitions@^1.2.0: - version "1.2.5" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz#3fe622a4171c774ebd06f11e9f8af7ec53ea5c74" - integrity sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA== - dependencies: - unist-util-visit "^1.0.0" - -mdast-util-inject@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz#db06b8b585be959a2dcd2f87f472ba9b756f3675" - integrity sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU= - dependencies: - mdast-util-to-string "^1.0.0" - -mdast-util-to-hast@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz#132001b266031192348d3366a6b011f28e54dc40" - integrity sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA== - dependencies: - collapse-white-space "^1.0.0" - detab "^2.0.0" - mdast-util-definitions "^1.2.0" - mdurl "^1.0.1" - trim "0.0.1" - trim-lines "^1.0.0" - unist-builder "^1.0.1" - unist-util-generated "^1.1.0" - unist-util-position "^3.0.0" - unist-util-visit "^1.1.0" - xtend "^4.0.1" - -mdast-util-to-string@^1.0.0, mdast-util-to-string@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" - integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== - -mdast-util-toc@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz#395eeb877f067f9d2165d990d77c7eea6f740934" - integrity sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w== - dependencies: - github-slugger "^1.2.1" - mdast-util-to-string "^1.0.5" - unist-util-is "^2.1.2" - unist-util-visit "^1.1.0" - -mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -meow@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" - integrity sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist "^1.1.3" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - -meow@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" - integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - yargs-parser "^10.0.0" - -meow@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.0.1.tgz#1ed4a0a50b3844b451369c48362eb0515f04c1dc" - integrity sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw== +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== dependencies: "@types/minimist" "^1.2.0" - arrify "^2.0.1" - camelcase "^6.0.0" camelcase-keys "^6.2.2" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" - minimist-options "^4.0.2" - normalize-package-data "^2.5.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" read-pkg-up "^7.0.1" redent "^3.0.0" trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" + type-fest "^0.18.0" + yargs-parser "^20.2.3" merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" + braces "^3.0.2" + picomatch "^2.3.1" -mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@~2.1.17, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - mime-db "1.44.0" + mime-db "1.52.0" mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.2.0, mime@^2.4.4, mime@^2.4.5: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== +mime@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== -mimic-fn@^2.0.0, mimic-fn@^2.1.0: +mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== minimalistic-assert@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" - -minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -"minimatch@2 || 3", minimatch@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== dependencies: - brace-expansion "^1.0.0" + brace-expansion "^2.0.1" -minimatch@3.0.4, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimist-options@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" - integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - -minimist-options@^4.0.2: +minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== @@ -6467,266 +4172,120 @@ minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@0.0.8, minimist@~0.0.1: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.3, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@0.5.x, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -mkdirp@^0.5.3: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" +minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -mocha-cli@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mocha-cli/-/mocha-cli-1.0.1.tgz#32002ca5b5e956e84bfe846827eb0bc4b4561b05" - integrity sha1-MgAspbXpVuhL/oRoJ+sLxLRWGwU= +mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: - chalk "^1.1.1" - debug "^2.2.0" - resolve "^1.1.7" + minimist "^1.2.6" -mocha@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.0.1.tgz#fe01f0530362df271aa8f99510447bc38b88d8ed" - integrity sha512-vefaXfdYI8+Yo8nPZQQi0QO2o+5q9UIMX1jZ1XMmK3+4+CQjc7+B0hPdUeglXiTlr8IHMVRo63IhO9Mzt6fxOg== +mocha@^10.0.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" + integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== dependencies: ansi-colors "4.1.1" browser-stdout "1.3.1" - chokidar "3.3.1" - debug "3.2.6" - diff "4.0.2" - escape-string-regexp "1.0.5" - find-up "4.1.0" - glob "7.1.6" - growl "1.10.5" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" he "1.2.0" - js-yaml "3.13.1" - log-symbols "3.0.0" - minimatch "3.0.4" - ms "2.1.2" - object.assign "4.1.0" - promise.allsettled "1.0.2" - serialize-javascript "3.0.0" - strip-json-comments "3.0.1" - supports-color "7.1.0" - which "2.0.2" - wide-align "1.1.3" - workerpool "6.0.0" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "1.6.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + nanoid "3.3.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -module-deps-sortable@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz#99db5bb08f7eab55e4c31f6b7c722c6a2144ba74" - integrity sha512-bnGGeghQmz/t/6771/KC4FmxpVm126iR6AAzzq4N6hVZQVl4+ZZBv+VF3PJmDyxXtVtgcgTSSP7NL+jq1QAHrg== - dependencies: - JSONStream "^1.0.3" - browser-resolve "^1.7.0" - cached-path-relative "^1.0.0" - concat-stream "~1.5.0" - defined "^1.0.0" - detective "^4.0.0" - duplexer2 "^0.1.2" - inherits "^2.0.1" - readable-stream "^2.0.2" - resolve "^1.1.3" - stream-combiner2 "^1.1.1" - subarg "^1.0.0" - through2 "^2.0.0" - xtend "^4.0.0" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== dependencies: - dns-packet "^1.3.1" + dns-packet "^5.2.2" thunky "^1.0.2" -nan@^2.12.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== - -nanomatch@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-odd "^2.0.0" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" +nanoid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: +neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nise@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/nise/-/nise-4.0.4.tgz#d73dea3e5731e6561992b8f570be9e363c4512dd" - integrity sha512-bTTRUNlemx6deJa+ZyoCUTRvH3liK5+N6VQZ4NIw90AgDXY6iPnsqplNFf6STcj+ePk0H/xqxnP75Lr0J0Fq3A== +nise@^5.1.2: + version "5.1.5" + resolved "https://registry.yarnpkg.com/nise/-/nise-5.1.5.tgz#f2aef9536280b6c18940e32ba1fbdc770b8964ee" + integrity sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw== dependencies: - "@sinonjs/commons" "^1.7.0" - "@sinonjs/fake-timers" "^6.0.0" + "@sinonjs/commons" "^2.0.0" + "@sinonjs/fake-timers" "^10.0.2" "@sinonjs/text-encoding" "^0.7.1" just-extend "^4.0.2" path-to-regexp "^1.7.0" -node-forge@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" - integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-releases@^1.1.58: - version "1.1.59" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.59.tgz#4d648330641cec704bff10f8e4fe28e453ab8e8e" - integrity sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw== +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== -nopt@3.x: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== -normalize-package-data@^2.3.0, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.5.0: +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -6736,154 +4295,54 @@ normalize-package-data@^2.3.0, normalize-package-data@^2.3.4, normalize-package- semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@^2.3.2: - version "2.3.6" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.6.tgz#498fa420c96401f787402ba21e600def9f981fff" +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" validate-npm-package-license "^3.0.1" -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" - integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - -normalize-url@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -now-and-later@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" - integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== - dependencies: - once "^1.3.2" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: +npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" - integrity sha1-l33/1xdgErnsMNKjnbXPcqBDnt0= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" - integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== - -object-inspect@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" - integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== - -object-is@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" - integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -object-keys@^1.0.11, object-keys@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - dependencies: - isobject "^3.0.0" - -object.assign@4.1.0, object.assign@^4.0.4, object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - dependencies: - isobject "^3.0.1" - -object.values@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" +object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== dependencies: ee-first "1.1.1" @@ -6892,140 +4351,80 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@1.x, once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" +open@^8.0.9: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" - -ordered-read-streams@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" - integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= - dependencies: - readable-stream "^2.0.1" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-locale@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -p-cancelable@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" - integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" - integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" - -p-limit@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: - p-try "^2.0.0" + p-try "^1.0.0" -p-limit@^2.2.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" @@ -7036,49 +4435,37 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: - aggregate-error "^3.0.0" + p-limit "^3.0.2" -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== dependencies: - retry "^0.12.0" + p-limit "^4.0.0" -p-timeout@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" - integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: - p-finally "^1.0.0" - -p-try@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + "@types/retry" "0.12.0" + retry "^0.13.1" -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" @@ -7087,176 +4474,63 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-entities@^1.0.2, parse-entities@^1.1.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" - integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg== - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - -parse-filepath@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" - integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.1.1" - -parse-github-repo-url@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" - integrity sha1-nn2LslKmy2ukJZUGC3v23z28H1A= - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - -parse-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" - integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA== - dependencies: - is-ssh "^1.3.0" - protocols "^1.4.0" - -parse-url@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" - integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg== - dependencies: - is-ssh "^1.3.0" - normalize-url "^3.3.0" - parse-path "^4.0.0" - protocols "^1.4.0" - -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" - integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0= - dependencies: - better-assert "~1.0.0" - -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" - integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo= - dependencies: - better-assert "~1.0.0" - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= - dependencies: - path-root-regex "^0.1.0" +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== path-to-regexp@^1.7.0: version "1.8.0" @@ -7265,20 +4539,6 @@ path-to-regexp@^1.7.0: dependencies: isarray "0.0.1" -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -7291,421 +4551,195 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathval@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== -pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^2.0.0, pify@^2.3.0: +pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -pirates@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: +pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" -please-upgrade-node@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -portfinder@^1.0.26: - version "1.0.26" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" - integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.1" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + find-up "^6.3.0" -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== -postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== +postcss-modules-local-by-default@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" + integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== dependencies: - icss-utils "^4.1.1" - postcss "^7.0.16" + icss-utils "^5.0.0" postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" + postcss-value-parser "^4.1.0" -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" + postcss-selector-parser "^6.0.4" -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" + icss-utils "^5.0.0" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== dependencies: cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" + util-deprecate "^1.0.2" -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== +postcss@^8.4.21: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" - integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== +prettier@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643" + integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: +process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise.allsettled@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" - integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg== - dependencies: - array.prototype.map "^1.0.1" - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - iterate-value "^1.0.0" - -property-information@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz#f0e66e07cbd6fed31d96844d958d153ad3eb486e" - integrity sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ== - dependencies: - xtend "^4.0.1" - -protocols@^1.1.0, protocols@^1.4.0: - version "1.4.7" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" - integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== - -proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: - forwarded "~0.1.2" + forwarded "0.2.0" ipaddr.js "1.9.1" -prr@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3, pumpify@^1.3.5: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -q@^1.4.1, q@^1.5.1: +q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qjobs@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -qs@^6.4.0: - version "6.9.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" - integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + side-channel "^1.0.4" -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" - integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== - -quick-lru@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" - integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +rambda@^7.4.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/rambda/-/rambda-7.5.0.tgz#1865044c59bc0b16f63026c6e5a97e4b1bbe98fe" + integrity sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== + +randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: - bytes "3.1.0" - http-errors "1.7.2" + bytes "3.1.2" + http-errors "2.0.0" iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" - integrity sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU= - dependencies: - bytes "1" - string_decoder "0.10" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== dependencies: find-up "^2.0.0" read-pkg "^3.0.0" -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -7715,26 +4749,10 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== dependencies: load-json-file "^4.0.0" normalize-package-data "^2.3.2" @@ -7750,103 +4768,41 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2: - version "2.2.9" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" - dependencies: - buffer-shims "~1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~1.0.0" - util-deprecate "~1.0.1" - -readable-stream@~2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - integrity sha1-j5A0HmilPMySh4jaz80Rs265t44= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-stream@~2.1.0: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" - integrity sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA= +readable-stream@^2.0.1, readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: - buffer-shims "^1.0.0" core-util-is "~1.0.0" - inherits "~2.0.1" + inherits "~2.0.3" isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" util-deprecate "~1.0.1" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" - integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== - dependencies: - picomatch "^2.0.7" - -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -redent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" - integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== dependencies: - indent-string "^3.0.0" - strip-indent "^2.0.0" + resolve "^1.20.0" redent@^3.0.0: version "3.0.0" @@ -7856,327 +4812,112 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + regenerate "^1.4.2" -regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.5: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" -regexp.prototype.flags@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + jsesc "~0.5.0" -regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -remark-html@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-8.0.0.tgz#9fcb859a6f3cb40f3ef15402950f1a62ec301b3a" - integrity sha512-3V2391GL3hxKhrkzYOyfPpxJ6taIKLCfuLVqumeWQOk3H9nTtSQ8St8kMYkBVIEAquXN1chT83qJ/2lAW+dpEg== - dependencies: - hast-util-sanitize "^1.0.0" - hast-util-to-html "^4.0.0" - mdast-util-to-hast "^3.0.0" - xtend "^4.0.1" +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== -remark-parse@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95" - integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA== - dependencies: - collapse-white-space "^1.0.2" - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - is-word-character "^1.0.0" - markdown-escapes "^1.0.0" - parse-entities "^1.1.0" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - trim "0.0.1" - trim-trailing-lines "^1.0.0" - unherit "^1.0.4" - unist-util-remove-position "^1.0.0" - vfile-location "^2.0.0" - xtend "^4.0.1" - -remark-reference-links@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/remark-reference-links/-/remark-reference-links-4.0.4.tgz#190579a0d6b002859d6cdbdc5aeb8bbdae4e06ab" - integrity sha512-+2X8hwSQqxG4tvjYZNrTcEC+bXp8shQvwRGG6J/rnFTvBoU4G0BBviZoqKGZizLh/DG+0gSYhiDDWCqyxXW1iQ== - dependencies: - unist-util-visit "^1.0.0" - -remark-slug@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-5.1.2.tgz#715ecdef8df1226786204b1887d31ab16aa24609" - integrity sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A== +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: - github-slugger "^1.0.0" - mdast-util-to-string "^1.0.0" - unist-util-visit "^1.0.0" + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -remark-stringify@^5.0.0: +resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-5.0.0.tgz#336d3a4d4a6a3390d933eeba62e8de4bd280afba" - integrity sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w== - dependencies: - ccount "^1.0.0" - is-alphanumeric "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - longest-streak "^2.0.1" - markdown-escapes "^1.0.0" - markdown-table "^1.1.0" - mdast-util-compact "^1.0.0" - parse-entities "^1.0.2" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - stringify-entities "^1.0.1" - unherit "^1.0.4" - xtend "^4.0.1" - -remark-toc@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/remark-toc/-/remark-toc-5.1.1.tgz#8c229d6f834cdb43fde6685e2d43248d3fc82d78" - integrity sha512-vCPW4YOsm2CfyuScdktM9KDnJXVHJsd/ZeRtst+dnBU3B3KKvt8bc+bs5syJjyptAHfqo7H+5Uhz+2blWBfwow== - dependencies: - mdast-util-toc "^3.0.0" - remark-slug "^5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -remark@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/remark/-/remark-9.0.0.tgz#c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60" - integrity sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A== +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@~1.22.1: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - remark-parse "^5.0.0" - remark-stringify "^5.0.0" - unified "^6.0.0" + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" -remove-bom-buffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" - integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== +resolve@~1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: - is-buffer "^1.1.5" - is-utf8 "^0.2.1" + is-core-module "^2.1.0" + path-parse "^1.0.6" -remove-bom-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" - integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= - dependencies: - remove-bom-buffer "^3.0.0" - safe-buffer "^5.1.0" - through2 "^2.0.3" +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== -remove-trailing-separator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -replace-ext@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= - -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" - integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requireindex@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162" - integrity sha1-5UBLgVV+91225JxacgBIk/4D4WI= - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-options@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" - integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= - dependencies: - value-or-function "^3.0.0" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - -resolve@1.1.7, resolve@1.1.x: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - -resolve@^1.1.3, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.3.3, resolve@^1.8.1: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -responselike@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -rfdc@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" - integrity sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug== - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" @@ -8185,165 +4926,114 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.5.5: - version "6.6.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84" - integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg== +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: - tslib "^1.9.0" + queue-microtask "^1.2.2" safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" - -safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-json-parse@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" - integrity sha1-PnZyPjjf3aE8mx0poeB//uSzC1c= - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - dependencies: - ret "~0.1.10" - "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== +schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" -schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== +schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== -selfsigned@^1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" - integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== dependencies: - node-forge "0.9.0" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - -semver-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" - integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== + "@types/node-forge" "^1.3.0" + node-forge "^1" "semver@2 || 3 || 4 || 5": - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -semver@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65" - integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^5.0.1, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^6.0.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.2.1: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@^7.1.1, semver@^7.3.4, semver@^7.3.8, semver@^7.5.4, semver@~7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" + depd "2.0.0" + destroy "1.2.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "~1.7.2" + http-errors "2.0.0" mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" + ms "2.1.3" + on-finished "2.4.1" range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-javascript@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.0.0.tgz#492e489a2d77b7b804ad391a5f5d97870952548e" - integrity sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw== + statuses "2.0.1" -serialize-javascript@^1.7.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" - integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" -serialize-javascript@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" - integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== dependencies: randombytes "^2.1.0" serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" batch "0.6.1" @@ -8353,60 +5043,35 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" + send "0.18.0" -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" +set-function-length@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shallow-clone@^3.0.0: version "3.0.1" @@ -8415,13 +5080,6 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -8429,259 +5087,137 @@ shebang-command@^2.0.0: dependencies: shebang-regex "^3.0.0" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== -signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -sinon-chai@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.5.0.tgz#c9a78304b0e15befe57ef68e8a85a00553f5c60e" - integrity sha512-IifbusYiQBpUxxFJkR3wTU68xzBN0+bxCScEaKMjBvAQERg6FnTTc1F17rseLb1tjmkJ23730AXpFI0c47FgAg== - -sinon@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.0.2.tgz#b9017e24633f4b1c98dfb6e784a5f0509f5fd85d" - integrity sha512-0uF8Q/QHkizNUmbK3LRFqx5cpTttEVXudywY9Uwzy8bTfZUhljZ7ARzSxnRHWYWtVTeh4Cw+tTb3iU21FQVO9A== - dependencies: - "@sinonjs/commons" "^1.7.2" - "@sinonjs/fake-timers" "^6.0.1" - "@sinonjs/formatio" "^5.0.1" - "@sinonjs/samsam" "^5.0.3" - diff "^4.0.2" - nise "^4.0.1" - supports-color "^7.1.0" +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +sinon-chai@latest: + version "3.7.0" + resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.7.0.tgz#cfb7dec1c50990ed18c153f1840721cf13139783" + integrity sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g== -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== +sinon@^14.0.0: + version "14.0.2" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-14.0.2.tgz#585a81a3c7b22cf950762ac4e7c28eb8b151c46f" + integrity sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w== dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" + "@sinonjs/commons" "^2.0.0" + "@sinonjs/fake-timers" "^9.1.2" + "@sinonjs/samsam" "^7.0.1" + diff "^5.0.0" + nise "^5.1.2" + supports-color "^7.2.0" -slice-ansi@^3.0.0: +slash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^4.0.0: +slash@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -socket.io-adapter@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9" - integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g== + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== -socket.io-client@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.3.0.tgz#14d5ba2e00b9bcd145ae443ab96b3f86cbcc1bb4" - integrity sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA== - dependencies: - backo2 "1.0.2" - base64-arraybuffer "0.1.5" - component-bind "1.0.0" - component-emitter "1.2.1" - debug "~4.1.0" - engine.io-client "~3.4.0" - has-binary2 "~1.0.2" - has-cors "1.1.0" - indexof "0.0.1" - object-component "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - socket.io-parser "~3.3.0" - to-array "0.1.4" - -socket.io-parser@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f" - integrity sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng== - dependencies: - component-emitter "1.2.1" - debug "~3.1.0" - isarray "2.0.1" - -socket.io-parser@~3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a" - integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A== - dependencies: - component-emitter "1.2.1" - debug "~4.1.0" - isarray "2.0.1" - -socket.io@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.3.0.tgz#cd762ed6a4faeca59bc1f3e243c0969311eb73fb" - integrity sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg== - dependencies: - debug "~4.1.0" - engine.io "~3.4.0" - has-binary2 "~1.0.2" - socket.io-adapter "~1.1.0" - socket.io-client "2.3.0" - socket.io-parser "~3.4.0" - -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs@0.3.20: - version "0.3.20" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" - integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== +socket.io-adapter@~2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12" + integrity sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA== dependencies: - faye-websocket "^0.10.0" - uuid "^3.4.0" - websocket-driver "0.6.5" + ws "~8.11.0" -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" +socket.io@^4.4.1: + version "4.7.2" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.7.2.tgz#22557d76c3f3ca48f82e73d68b7add36a22df002" + integrity sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw== dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" + accepts "~1.3.4" + base64id "~2.0.0" + cors "~2.8.5" + debug "~4.3.2" + engine.io "~6.5.2" + socket.io-adapter "~2.5.2" + socket.io-parser "~4.2.4" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-support@^0.5.16, source-map-support@~0.5.12: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - -source-map@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: - amdefine ">=0.0.4" + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" -space-separated-tokens@^1.0.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" - integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +spdx-license-ids@^3.0.0: + version "3.0.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== spdy-transport@^3.0.0: version "3.0.0" @@ -8706,18 +5242,12 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - dependencies: - extend-shallow "^3.0.0" - -split2@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== dependencies: - through2 "^2.0.2" + readable-stream "^3.0.0" split@^1.0.0: version "1.0.1" @@ -8729,398 +5259,172 @@ split@^1.0.0: sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -standard-version@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-6.0.1.tgz#ad50e9770b73090d2f8f692e520d906813a3cefe" - integrity sha512-+09AwTbyLKyUwefiZSccgarp24okvH9A229NOVSpYTKWcxBxqZqdYmtQaJ8UET9mjPXRxP84vonJU4YMqCyBTQ== - dependencies: - chalk "2.4.2" - conventional-changelog "3.1.8" - conventional-changelog-config-spec "1.0.0" - conventional-recommended-bump "5.0.0" - detect-indent "6.0.0" - detect-newline "3.0.0" - dotgitignore "2.1.0" - figures "3.0.0" - find-up "3.0.0" - fs-access "1.0.1" - git-semver-tags "2.0.2" - semver "6.0.0" - stringify-package "1.0.0" - yargs "13.2.2" - -state-toggle@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" - integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" +standard-version@^9.5.0: + version "9.5.0" + resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-9.5.0.tgz#851d6dcddf5320d5079601832aeb185dbf497949" + integrity sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q== dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" + chalk "^2.4.2" + conventional-changelog "3.1.25" + conventional-changelog-config-spec "2.1.0" + conventional-changelog-conventionalcommits "4.6.3" + conventional-recommended-bump "6.1.0" + detect-indent "^6.0.0" + detect-newline "^3.1.0" + dotgitignore "^2.1.0" + figures "^3.1.0" + find-up "^5.0.0" + git-semver-tags "^4.0.0" + semver "^7.1.1" + stringify-package "^1.0.1" + yargs "^16.0.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: +"statuses@>= 1.4.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -stream-array@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/stream-array/-/stream-array-1.1.2.tgz#9e5f7345f2137c30ee3b498b9114e80b52bb7eb5" - integrity sha1-nl9zRfITfDDuO0mLkRToC1K7frU= +streamroller@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.5.tgz#1263182329a45def1ffaef58d31b15d13d2ee7ff" + integrity sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw== dependencies: - readable-stream "~2.1.0" + date-format "^4.0.14" + debug "^4.3.4" + fs-extra "^8.1.0" -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" +string-argv@~0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== -stream-combiner2@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" - integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4= +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - duplexer2 "~0.1.0" - readable-stream "^2.0.2" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" + safe-buffer "~5.2.0" -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" + safe-buffer "~5.1.0" -stream-shift@^1.0.0: +stringify-package@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" + integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== -streamroller@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-2.2.4.tgz#c198ced42db94086a6193608187ce80a5f2b0e53" - integrity sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ== +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== dependencies: - date-format "^2.1.0" - debug "^4.1.1" - fs-extra "^8.1.0" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + ansi-regex "^3.0.0" -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" -string-natural-compare@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" - integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" + min-indent "^1.0.0" -"string-width@^1.0.2 || 2", string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string_decoder@0.10, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" - dependencies: - buffer-shims "~1.0.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-entities@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7" - integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A== - dependencies: - character-entities-html4 "^1.0.0" - character-entities-legacy "^1.0.0" - is-alphanumerical "^1.0.0" - is-hexadecimal "^1.0.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -stringify-package@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.0.tgz#e02828089333d7d45cd8c287c30aa9a13375081b" - integrity sha512-JIQqiWmLiEozOC0b0BtxZ/AOUtdUZHCBPgqIZ2kSJJqGwgb9neo44XdTHUC4HZSGqi03hOeB7W/E8rAlKnGe9g== - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= - dependencies: - get-stdin "^4.0.1" - -strip-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== - -strip-json-comments@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -strip-json-comments@^3.1.0: +strip-json-comments@3.1.1, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -style-loader@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a" - integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg== - dependencies: - loader-utils "^2.0.0" - schema-utils "^2.6.6" - -subarg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" - integrity sha1-9izxdYHplrSPyWVpn1TAauJouNI= - dependencies: - minimist "^1.1.0" +style-loader@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" + integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== -supports-color@7.1.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== +supports-color@8.1.1, supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - dependencies: - has-flag "^1.0.0" - supports-color@^5.3.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - dependencies: - has-flag "^3.0.0" - -supports-color@^6.0.0, supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== +supports-color@^7.1.0, supports-color@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" + has-flag "^4.0.0" -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -terser-webpack-plugin@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f" - integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^3.1.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -terser@^4.1.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.3.7, terser-webpack-plugin@^5.3.9: + version "5.3.9" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" + integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.16.8" + +terser@^5.16.8: + version "5.22.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d" + integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" + source-map-support "~0.5.20" text-extensions@^1.0.0: version "1.9.0" @@ -9130,24 +5434,9 @@ text-extensions@^1.0.0: text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -through2-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" - integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through2@^2.0.2, through2@^2.0.3, through2@~2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -9155,89 +5444,34 @@ through2@^2.0.2, through2@^2.0.3, through2@~2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -through2@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" + readable-stream "3" -through@2, "through@>=2.2.7 <3", through@^2.3.8: +through@2, "through@>=2.2.7 <3": version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== thunky@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== -timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== - dependencies: - setimmediate "^1.0.4" - -tiny-lr@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" - integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA== - dependencies: - body "^5.1.0" - debug "^3.1.0" - faye-websocket "~0.10.0" - livereload-js "^2.3.0" - object-assign "^4.1.0" - qs "^6.4.0" - -tmp@0.2.1: +tmp@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== dependencies: rimraf "^3.0.0" -to-absolute-glob@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" - integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" - -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" @@ -9246,86 +5480,20 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -to-through@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" - integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= - dependencies: - through2 "^2.0.3" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -trim-lines@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.3.tgz#839514be82428fd9e7ec89e35081afe8f6f93115" - integrity sha512-E0ZosSWYK2mkSu+KEtQ9/KqarVjA9HztOSX+9FDdNacRAq29RRV6ZQNgob3iuW8Htar9vAfEa6yyt5qBAHZDBA== - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -trim-newlines@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= - -trim-newlines@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" - integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== - -trim-off-newlines@^1.0.0: +toidentifier@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" - integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -trim-trailing-lines@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94" - integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA== - -trim@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" - integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= - -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== - -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= +ts-api-utils@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -9334,30 +5502,20 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8, type-detect@^4.0.5, type-detect@^4.0.8: +type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-detect@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.0.tgz#62053883542a321f2f7b25746dc696478b18ff6b" - -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^0.6.0: version "0.6.0" @@ -9369,7 +5527,7 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-is@~1.6.17, type-is@~1.6.18: +type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -9377,196 +5535,63 @@ type-is@~1.6.17, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typedarray@^0.0.6, typedarray@~0.0.5: +typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -ua-parser-js@0.7.21: - version "0.7.21" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" - integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== - -ua-parser-js@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" - integrity sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg== - -uglify-js@^2.6: - version "2.8.22" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-js@^3.1.4, uglify-js@^3.6.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.0.tgz#397a7e6e31ce820bfd1cb55b804ee140c587a9e7" - integrity sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA== - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -uglifyjs-webpack-plugin@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.2.0.tgz#e75bc80e7f1937f725954c9b4c5a1e967ea9d0d7" - integrity sha512-mHSkufBmBuJ+KHQhv5H0MXijtsoA1lynJt1lXOaotja8/I0pR4L9oGaPIZw+bQBOFittXZg9OC1sXSGO9D9ZYg== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^1.7.0" - source-map "^0.6.1" - uglify-js "^3.6.0" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= - -unherit@^1.0.4: - version "1.1.3" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" - integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== - dependencies: - inherits "^2.0.0" - xtend "^4.0.0" - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - -unified@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba" - integrity sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-plain-obj "^1.1.0" - trough "^1.0.0" - vfile "^2.0.0" - x-is-string "^0.1.0" - -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" - integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== - dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" - -unist-builder@^1.0.1, unist-builder@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz#e1808aed30bd72adc3607f25afecebef4dd59e17" - integrity sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg== - dependencies: - object-assign "^4.1.0" - -unist-util-generated@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.5.tgz#1e903e68467931ebfaea386dae9ea253628acd42" - integrity sha512-1TC+NxQa4N9pNdayCYA1EGUOCAO0Le3fVp7Jzns6lnua/mYgwHo0tz5WUAfrdpNch1RZLHc61VZ1SDgrtNXLSw== - -unist-util-is@^2.0.0, unist-util-is@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.3.tgz#459182db31f4742fceaea88d429693cbf0043d20" - integrity sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA== - -unist-util-is@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" - integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== - -unist-util-position@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" - integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== - -unist-util-remove-position@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz#ec037348b6102c897703eee6d0294ca4755a2020" - integrity sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A== - dependencies: - unist-util-visit "^1.1.0" - -unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" - integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== +typescript@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== + +typescript@~5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== + +ua-parser-js@^0.7.30: + version "0.7.37" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.37.tgz#e464e66dac2d33a7a1251d7d7a99d6157ec27832" + integrity sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA== + +ua-parser-js@^1.0.36: + version "1.0.37" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" + integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== + +uglify-js@^3.1.4: + version "3.17.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: - "@types/unist" "^2.0.2" + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" -unist-util-visit-parents@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" - integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== - dependencies: - unist-util-is "^3.0.0" +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== -unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" - integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== - dependencies: - unist-util-visit-parents "^2.0.0" +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== universalify@^0.1.0: version "0.1.2" @@ -9576,260 +5601,68 @@ universalify@^0.1.0: unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + escalade "^3.1.1" + picocolors "^1.0.0" uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" - dependencies: - kind-of "^6.0.2" - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.3.2, uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" -value-or-function@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" - integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= +validator@^13.7.0: + version "13.11.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.11.0.tgz#23ab3fd59290c61248364eabf4067f04955fbb1b" + integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ== -vary@~1.1.2: +vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -vfile-location@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" - integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA== - -vfile-message@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" - integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA== - dependencies: - unist-util-stringify-position "^1.1.1" - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" - -vfile-reporter@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-6.0.1.tgz#45d4dc11df2e312196ea2ceb95e42a67fc8ce814" - integrity sha512-0OppK9mo8G2XUpv+hIKLVSDsoxJrXnOy73+vIm0jQUOUFYRduqpFHX+QqAQfvRHyX9B0UFiRuNJnBOjQCIsw1g== - dependencies: - repeat-string "^1.5.0" - string-width "^4.0.0" - supports-color "^6.0.0" - unist-util-stringify-position "^2.0.0" - vfile-sort "^2.1.2" - vfile-statistics "^1.1.0" - -vfile-sort@^2.1.0, vfile-sort@^2.1.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-2.2.2.tgz#720fe067ce156aba0b411a01bb0dc65596aa1190" - integrity sha512-tAyUqD2R1l/7Rn7ixdGkhXLD3zsg+XLAeUDUhXearjfIcpL1Hcsj5hHpCoy/gvfK/Ws61+e972fm0F7up7hfYA== - -vfile-statistics@^1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-1.1.4.tgz#b99fd15ecf0f44ba088cc973425d666cb7a9f245" - integrity sha512-lXhElVO0Rq3frgPvFBwahmed3X03vjPF8OcjKMy8+F1xU/3Q3QU3tKEDp743SFtb74PdF0UWpxPvtOP0GCLheA== - -vfile@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a" - integrity sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w== - dependencies: - is-buffer "^1.1.4" - replace-ext "1.0.0" - unist-util-stringify-position "^1.0.0" - vfile-message "^1.0.0" - -vfile@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.1.1.tgz#282d28cebb609183ac51703001bc18b3e3f17de9" - integrity sha512-lRjkpyDGjVlBA7cDQhQ+gNcvB1BGaTHYuSOcY3S7OhDmBtnzX95FhtZZDecSTDm6aajFymyve6S5DN4ZHGezdQ== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - replace-ext "1.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - -vinyl-fs@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" - integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== - dependencies: - fs-mkdirp-stream "^1.0.0" - glob-stream "^6.1.0" - graceful-fs "^4.0.0" - is-valid-glob "^1.0.0" - lazystream "^1.0.0" - lead "^1.0.0" - object.assign "^4.0.4" - pumpify "^1.3.5" - readable-stream "^2.3.3" - remove-bom-buffer "^3.0.0" - remove-bom-stream "^1.2.0" - resolve-options "^1.1.0" - through2 "^2.0.0" - to-through "^2.0.0" - value-or-function "^3.0.0" - vinyl "^2.0.0" - vinyl-sourcemap "^1.1.0" - -vinyl-sourcemap@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" - integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= - dependencies: - append-buffer "^1.0.2" - convert-source-map "^1.5.0" - graceful-fs "^4.1.6" - normalize-path "^2.1.1" - now-and-later "^2.0.0" - remove-bom-buffer "^3.0.0" - vinyl "^2.0.0" - -vinyl@^2.0.0, vinyl@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== void-elements@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= + integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== -vue-template-compiler@^2.5.16: - version "2.6.11" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" - integrity sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA== - dependencies: - de-indent "^1.0.2" - he "^1.1.0" - -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" - integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: + glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.0" - watchpack-chokidar2 "^2.0.0" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -9838,217 +5671,170 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -webpack-cli@^3.3.12: - version "3.3.12" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" - integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== - dependencies: - chalk "^2.4.2" - cross-spawn "^6.0.5" - enhanced-resolve "^4.1.1" - findup-sync "^3.0.0" - global-modules "^2.0.0" - import-local "^2.0.0" - interpret "^1.4.0" - loader-utils "^1.4.0" - supports-color "^6.1.0" - v8-compile-cache "^2.1.1" - yargs "^13.3.2" - -webpack-dev-middleware@^3.7.0, webpack-dev-middleware@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" +webpack-cli@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" + colorette "^2.0.14" + commander "^10.0.1" + cross-spawn "^7.0.3" + envinfo "^7.7.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^3.1.1" + rechoir "^0.8.0" + webpack-merge "^5.7.3" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" - integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" + schema-utils "^4.0.0" + +webpack-dev-server@^4.15.1: + version "4.15.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.7" - semver "^6.3.0" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" serve-index "^1.9.1" - sockjs "0.3.20" - sockjs-client "1.4.0" + sockjs "^0.3.24" spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + webpack-dev-middleware "^5.3.1" + ws "^8.13.0" + +webpack-merge@^4.1.5: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" + lodash "^4.17.15" -webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== +webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" -webpack@^4.43.0: - version "4.43.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" - integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.88.2: + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.6.1" - webpack-sources "^1.4.1" - -websocket-driver@0.6.5, websocket-driver@>=0.5.1: - version "0.6.5" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" - dependencies: + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.7" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - -which@2.0.2, which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -which@^1.1.1: - version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" - dependencies: - isexe "^2.0.0" + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -which@^1.2.1, which@^1.2.14, which@^1.2.9, which@^1.3.1: +which@^1.2.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" -wide-align@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: - string-width "^1.0.2 || 2" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + isexe "^2.0.0" -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== -wordwrap@^1.0.0, wordwrap@~1.0.0: +wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -workerpool@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" - integrity sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA== - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -10057,159 +5843,88 @@ wrap-ansi@^6.2.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - -ws@^7.1.2: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== - -ws@~6.1.0: - version "6.1.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9" - integrity sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA== - dependencies: - async-limiter "~1.0.0" - -x-is-string@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" - integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI= +ws@^8.13.0: + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== -xmlhttprequest-ssl@~1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" - integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= +ws@~8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -xtend@^4.0.1, xtend@~4.0.0: +xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml@^1.7.2: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@13.1.2, yargs-parser@^13.0.0, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-parser@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== - dependencies: - camelcase "^4.1.0" +yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^18.1.2, yargs-parser@^18.1.3: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-unparser@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" - integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== - dependencies: - flat "^4.1.0" - lodash "^4.17.15" - yargs "^13.3.0" - -yargs@13.2.2: - version "13.2.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" - integrity sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA== +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== dependencies: - cliui "^4.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - os-locale "^3.1.0" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.0.0" - -yargs@13.3.2, yargs@^13.3.0, yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.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 "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - 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" + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0, yargs@^16.0.0, yargs@^16.1.1, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" 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" + y18n "^5.0.5" + yargs-parser "^20.2.2" -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" - integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +z-schema@~5.0.2: + version "5.0.6" + resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.6.tgz#46d6a687b15e4a4369e18d6cb1c7b8618fc256c5" + integrity sha512-+XR1GhnWklYdfr8YaZv/iu+vY+ux7V5DS5zH1DQf6bO5ufrt/5cgNhVO5qyhsjFXvsqQb/f08DWE9b6uPscyAg== + dependencies: + lodash.get "^4.4.2" + lodash.isequal "^4.5.0" + validator "^13.7.0" + optionalDependencies: + commander "^10.0.0"